为什么添加一天与下面的变量$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
答案 0 :(得分:1)
就这样回答了这个问题(我找不到重复的问题),评论中指出+1
中的+1 days
被解释为附加到日期的UTC偏移量。
解决方案是使用诸如Z
或UTC
之类的时区说明符终止日期字符串,以便将其识别为完整日期。
有关日期规范的更多详细信息,请参见info '(coreutils) date invocation'
。