linux无date命令,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

标签:bash,linux,fedora

来源: https://codeday.me/bug/20190718/1493210.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值