Linux 日期对象在指定小时/分钟/秒时表现不同

标签 linux bash datetime

为什么添加 1 天与下面的变量 $d$dt 的工作方式不同?

Linux 版本:CentOS 6.8

如果 $dt 有某种隐藏的时区转换,而 $d 没有?如果是这样,我该如何抑制它?

d="2019-04-01"
dt="2019-04-01 01:00:00"
date --date="$d +1 days" +'%Y-%m-%d'

输出:2019-04-02

date --date="$dt +1 days" +'%Y-%m-%d %H:%M:%S'

输出:2019-04-01 17:00:00

最佳答案

只是为了回答这个问题(我找不到重复项),评论中指出 +1 天 中的 +1 正在被解释作为附加到日期的 UTC 偏移量。

解决方案是使用时区说明符(例如 ZUTC)终止日期字符串,以便将其识别为完整日期。

有关日期规范的更多详细信息,请参阅 info '(coreutils) date invocation'

关于Linux 日期对象在指定小时/分钟/秒时表现不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55484219/

相关文章:

python - 是否可以在 python 脚本中交叉引用 bash 和 python 变量

datetime - y 轴上的 Matplotlib 日期

linux - 要检查是否存在的文件列表

c++ - 在 Linux 中使用 Makefiles for C/C++ 构建和链接

c++ - 我可以使用什么 C++ 库来检查 Linux 上的磁盘配额?

linux - 通过 bash 脚本执行编译器标志

linux - 脚本有什么问题

c - 调试 syslinux 看到的引导文件系统环境?

datetime - python datetime.strptime : ignore fraction of a second

java - 带有 JDK 1.6 的应用程序服务器上的 TimeZone#setDefault()