date 命令

 

在Shell下,可以通過如下命令設置指定日期往前或者往後N天

date -d "$KNOW_DATE UTC +N days" +"%Y%m%d"

date -d "$KNOW_DATE UTC -N days" +"%Y%m%d"

由此可得到下面這種日期循環的代碼:

b=`date -d "$BEGIN_DATE" +"%Y%m%d"`

e=`date -d "$ENDBEGIN_DATE" +"%Y%m%d"`

#前面兩條語句的作用是將日期轉換成yyyyMMdd這種格式,後面要將它們當成數字來比較

while [ $b -le $e ]; do

  #do something here

  b=`date -d "$b UTC +1 day" +"%Y%m%d"`

done

這種方式可以按隔N天的方式,也可以換成其他時間維度

另外一種是化成秒再計算,代碼如下:

b=`date -d $BEGIN_DATE" +"%s"`

e=`date -d "$END_DATE" +"%s"`

while [ $b -le $e ]; do

#do something here

d=`date -d “1970-01-01 UTC "$b" seconds" +”%Y%m%d"`

b=`expr $b + 86400`  #也可以用:(($b+=86400))或者let 'b+=86400'

done

這種方式需要多做一步將秒數轉換成時間,個人覺得麻煩

 

转自:

http://hi.baidu.com/lightingman/blog/item/b0ed7c1b78b1f6c8ac6e7533.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值