在bash脚本中添加日期
我想给约会时间增加1小时。所以我试过这个-在bash脚本中添加日期,bash,time,date-arithmetic,arithmetic-expressions,Bash,Time,Date Arithmetic,Arithmetic Expressions,我想给约会时间增加1小时。所以我试过这个- date -u -d "2019-02-22 05:21:22 + 1 hour" +"%F %T" 我把这个作为输出- 2019-02-22 05:21:22 时间没有增加。所以我对date玩得更多了- date -u -d "2019-02-22 05:21:22 + 12 hours" +"%F %T" > 2019-02-21 18:21:22 date -u -d "2019-02-22 05:21:22 -
date -u -d "2019-02-22 05:21:22 + 1 hour" +"%F %T"
我把这个作为输出-
2019-02-22 05:21:22
时间没有增加。所以我对date玩得更多了-
date -u -d "2019-02-22 05:21:22 + 12 hours" +"%F %T"
> 2019-02-21 18:21:22
date -u -d "2019-02-22 05:21:22 - 12 hours" +"%F %T"
> 2019-02-22 18:21:22
date -u -d "2019-02-22 05:21:22 + 1 minutes" +"%F %T"
> 2019-02-22 04:22:22
date -u -d "2019-02-22 05:21:22 + 1 day" +"%F %T"
> 2019-02-23 04:21:22
每个命令的输出都非常混乱。我不知道如何增加小时或任何其他时间的日期
我在网上搜索了如何使用date命令,并浏览了如下帖子-
因此,我想获得一些帮助,了解如何将小时/分钟/天或任何其他时间单位添加到日期,以及我做错了什么。解析日期-时间算法很难。鉴于:
date -u -d "2019-02-22 05:21:22 + 1 hour" +"%F %T"
日期将此部分05:21:22+1小时
表示05:21:22+0100小时
,然后将其解释为05:21:22+0100+1小时
。参考:
您可以通过将相对时间放在不同的位置来帮助解决歧义:
# ............vvvvvvvv
$ date -u -d "+ 1 hour 2019-02-22 05:21:22" +"%F %T"
2019-02-22 06:21:22
# .........^^
# .......................vvvvvvvv
$ date -u -d "2019-02-22 + 1 hour 05:21:22" +"%F %T"
2019-02-22 06:21:22
# .........^^
# ................................vvvvvvvv
$ date -u -d "2019-02-22 05:21:22 + 1 hour" +"%F %T"
2019-02-22 05:21:22
# .........^^
或者,自己指定一个时区
# ...............................v
$ date -u -d "2019-02-22 05:21:22Z + 1 hour" +"%F %T"
2019-02-22 06:21:22
# .........^^
您为什么使用选项
-u
?来考虑在utcThanks Glenn的时间进行解释。