用小时读取日期并在shell脚本中递增它

时间:2015-06-03 03:01:55

标签: bash shell unix

我有一个日期' 2015-06-01-12'的文件,如何让它在shell脚本中增加小时?我想要的结果是' 2015-06-01-13'。如果是第23个小时,它必须向前推进一个日期,并以小时为单位获得00。 到目前为止,我能够做到这一点,但到目前为止还没有增加小时的运气。

currDate=2015-06-02
nextDate=`date '+%Y-%m-%d' -d "$currDate+1 days"`
echo $nextDate

1 个答案:

答案 0 :(得分:0)

如果您将日期保存为纪元(自1970年1月1日以来的秒数),这是相当容易的:

$ currDate=$( date +%s -d "2015-06-02 23:00:00" )
$ echo $currDate
1433300400
$ date +%Y-%m-%d-%H -d @$currDate
2015-06-02-23
$ nextDate=$(( $currDate + 3600 )) #adding an hour's worth of seconds
$ date +%Y-%m-%d-%H -d @$nextDate
2015-06-03-00