微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – Bash date命令无效日期

linux bash中,当我输入date -d“1986-01-01”时,它显示错误

date: invalid date "1986-01-01"

当日期-d“1986-01-02”它工作

当日期-d“1987-01-01”它也有效

为什么date -d“1986-01-01”在Linux Bash shell中显示错误.

我正在使用Fedora 16

解决方法:

尼泊尔在1986年初更改了时区.下表是从tzdata包中复制的:

# Zone  NAME            GMTOFF  RULES   FORMAT  [UNTIL]
Zone    Asia/Kathmandu  5:41:16 -       LMT     1920
                        5:30    -       IST     1986
                        5:45    -       NPT     # Nepal Time

这意味着在1986年1月1日00:00:00到00:14:59的时间无效.以下两个命令显示,1986年的第一天从00:15:00开始:

$TZ=Asia/Kathmandu date -d '1985-12-31 23:59:59' '+%s'
504901799
$TZ=Asia/Kathmandu date -d '1986-01-01 00:15:00' '+%s'
504901800

所以日期的错误信息是正确的.此时区的日期无效.我不确定你对这个命令的结果做了什么.但是,您可以尝试使用UTC,因为所有日期在UTC中都是有效且无明确的:

$TZ=UTC date -d '1986-01-01'
Wed Jan  1 00:00:00 UTC 1986

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐