linux的date命令使用指定时间的加减方法与异常

2019-01-21 02:36:56来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

在一般网页里,date命令减时间方法为:

date -d '-100 days'

我的需求是,在指定时间上减8小时。按一般理解来看,命令写成如下样子(有异常错误的写法):

date -d "2014-11-22 08:08:08 -1 days" "+%d-%m-%Y %H:%M:%S"

期望结果是:23-11-2014 08:08:08

实际结果是:23-11-2014 17:08:08

所以,结果异常错误。同理减分钟减小时,同样错误,比如:

date -d "2014-11-22 08:08:08 -1 mins" "+%d-%m-%Y %H:%M:%S"
date -d "2014-11-22 08:08:08 -1 hours" "+%d-%m-%Y %H:%M:%S"

实际结果:

22-11-2014 17:09:08
22-11-2014 18:08:08

起初以为是系统差异问题。经过测试,centos和ubuntu运行结果一样异常。

所以正确写法如下:替换减号 使用 ago

date -d "2014-11-22 08:08:08 1 hours ago" "+%d-%m-%Y %H:%M:%S"
date -d "2014-11-22 08:08:08 1 mins ago" "+%d-%m-%Y %H:%M:%S"

正确结果:

22-11-2014 07:08:08
22-11-2014 08:07:08

或者:将减小时,减分钟条件移到前端

date -d "-1 hours 2014-11-22 08:08:08" "+%d-%m-%Y %H:%M:%S"
date -d "-1 mins 2014-11-22 08:08:08" "+%d-%m-%Y %H:%M:%S"

 正确结果:

22-11-2014 07:08:08
22-11-2014 08:07:08

原文链接:https://www.cnblogs.com/date/p/10294337.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:CentOS7 .NETCore 笔记 (一)

下一篇:解决了一个困扰我近一年的vim显示中文乱码的问题