在shell脚本中将特定的小时添加到给定的日期
在我的shell中,当以YYYYmmddHHMM格式给出一个日期时,我想在给定的日期上加一个小时。在shell脚本中将特定的小时添加到给定的日期,shell,date,Shell,Date,在我的shell中,当以YYYYmmddHHMM格式给出一个日期时,我想在给定的日期上加一个小时。 我目前的代码如下: DATE=201502252310 NEXT_DATE=$(date +%Y%m%d%H%M -ud "$DATE +1 hour") echo $NEXT_DATE 当给定日期为20150221010时,结果为201502210100100 事实上,我想得到20150212110 当给定日期为201502122310时,我希望得到的结果是2015021301010 但是,它
我目前的代码如下:
DATE=201502252310
NEXT_DATE=$(date +%Y%m%d%H%M -ud "$DATE +1 hour")
echo $NEXT_DATE
当给定日期为20150221010
时,结果为201502210100100
事实上,我想得到
20150212110
当给定日期为201502122310
时,我希望得到的结果是2015021301010
但是,它显示的是
日期:无效日期“201502212310+1小时”
看来我的代码有问题。如何将特定的小时正确添加到给定的日期 您所在的时区是什么?@glennjackman时区是UTC。date似乎无法解析您的$date值:您可能需要插入一些连字符和colons@glennjackman谢谢你的帮助。现在没事了。我在日期和时间中添加了一些连字符,如
date=2015-02-10
time=23:10
。我将它们用作NEXT_DATE=$(DATE+%Y%m%d%H%m-ud“$DATE$TIME UTC+1小时”)
。我得到了结果20150211010
。如果不添加一些连字符和冒号,也可以。主要的一点是我把日期和时间分开。当它们单独使用时,问题可以解决,时间也会增加。:)