gpt4 book ai didi

linux - 在 Linux 中将时间添加到日历日期会给出不正确的结果

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:38:37 25 4
gpt4 key购买 nike

我在 Linux 上,我正在尝试使用日期工具将特定天数、小时数和分钟数添加到指定的日历日期:

例如:

$ date -d "2013-01-01 + 305 days 12 hours 30 minutes" +"%Y%m%d%0k%M%S"
20131102123000

将结果拆分以便我们更容易阅读:

2013-11-02 12:30:00

这似乎工作正常。但是,当我添加 306 天而不是 305 天时:

$ date -d "2013-01-01 + 306 days 12 hours 30 minutes" +"%Y%m%d%0k%M%S"
20131103113000

拆分:

2013-11-03 11:30:00

请注意现在小时显示的是 11 而不是 12!但我告诉它要增加 12 小时……让我再增加一天:

$ date -d "2013-01-01 + 307 days 12 hours 30 minutes" +"%Y%m%d%0k%M%S"
20131104123000

再次拆分结果:

2013-11-04 12:30:00

现在时间又回到了我的预期。我已经使用日期版本 8.12 和 8.4 对此进行了测试,两者的结果相同。我做错了什么?

最佳答案

我试图从 UTC 日期开始添加,但我没有在工具中指定它。这是解决方案:

date --utc -d "2013-01-01 + 307 days 12 hours 30 minutes" +"%Y%m%d%0k%M%S"

因为 UTC 不遵守夏令时,所以小时不会有变化。

关于linux - 在 Linux 中将时间添加到日历日期会给出不正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45512006/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com