LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: guang

怎么计算两个日期间的天数

[复制链接]
发表于 2005-7-14 19:18:01 | 显示全部楼层
什么是儒略日?
答:
是一种不用年和月的长期纪日法,不仅对长期变星等的天文观测比较方便,对于研治古史时日,用处也很大。它原来的规定是:从儒略历的公元前4713年1月1日格林尼治平午(即该地民用时12时)为“0”日的开始,至次日格林尼治平午为“1”日的开始,由此顺数而下,延续不断地记下来。例如:至2004年1月1日格林尼治平午,儒略日为2453006。
就是绝对天数,便于时间间相减
回复 支持 反对

使用道具 举报

发表于 2009-4-21 23:44:39 | 显示全部楼层
day1=20090401
day2=20090308
count1=`date --date="$day1" +"%j" | sed 's/^0*//g'` #是一年当中的第几天,sed用来去掉前导0
count2=`date --date="$day2" +"%j" | sed 's/^0*//g'`
let sub_day=$count1-$count2
echo $sub_day

date有很多选项,比如指定显示日期的格式。更多信息man date 呵呵
回复 支持 反对

使用道具 举报

发表于 2009-4-24 17:32:06 | 显示全部楼层
Post by guang;1203631
这是我写的函数..
[PHP]
interdays(){
   local s1 s2 s3
   s1=`date +%s -d$1`
   s2=`date +%s -d$2`
   if [ $s1 -gt $s2 ]
   then
        s3=$(($s1 - $s2))
   else
        s3=$(($s2 - $s1))
   fi
   return $((s3 / (60 * 60 * 24)))
}
[/PHP]



请教下,这个函数怎么在bash中使用,换句话说,我怎么能得到你计算的值并把它echo出来?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表