首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能将日期延长一个小时

未能将日期延长一个小时
EN

Unix & Linux用户
提问于 2018-10-11 14:43:24
回答 2查看 210关注 0票数 2

我的脚本中的日期命令有一个有趣的问题。我的脚本在给定的日期范围内生成大量小时数据。我使用date函数将“日期”从“日期”增加一小时,直到它点击“日期”。date方法工作得很好,并且像我预期的那样将"from“日期增加了一个小时。但是,一旦到了2017/11/05 :00:00,它就停止了。我还没有测试过很多次约会,但另一个有同样问题的日期是2016/11/06 :00:00。

代码语言:javascript
复制
$ date -d "2017/11/05 01:00:00 1 hour" +"%Y/%m/%d %T"
2017/11/05 01:00:00

$ date -d "2016/11/06 01:00:00 1 hour" +"%Y/%m/%d %T"
2016/11/06 01:00:00

Linux版本Linux3.10.0-229.4.2.el7.x86_64

EN

回答 2

Unix & Linux用户

发布于 2018-10-11 18:15:15

结果,是DST (夏令时)导致了这个问题。当我将DST日期为凌晨1时(11月的第一个星期日)传递给date命令时,它可能会在内部将日期增加一个小时,并从其中扣除DST的一个小时。解决方案是使用@jkan5855建议的-u (UTC)。

代码语言:javascript
复制
$ date -d "2017/11/05 01:00:00 1 hour" +"%Y/%m/%d %T" -u
票数 1
EN

Unix & Linux用户

发布于 2018-10-11 15:02:12

试着做date --version,看看你用的是哪个版本的约会。date (GNU Coreutils) 8.30上的命令运行良好

重新安装或更新GNU Coreutils (为您的linux/子系统找到合适的包),因为显然没有其他人会遇到这个问题。你的命令为我打印出了2017/11/05 02:00:00

如果这不能解决这个问题,你的电脑会暂时失效吗?我没有更好的方法来描述它,但是尝试重新启动您的计算机,因为您也在其他子系统/终端上获得了这个信息。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/474855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档