为什么Unix日期在2到3个月之间存在差异

这怎么可能,我该如何处理呢?我正在制作依赖于Unix日期的备份脚本,并发现了一个有趣的错误
[root@web000c zfs_test]# date +%y-%m-%d --date='2 months ago'
14-04-01
[root@web000c zfs_test]# date +%y-%m-%d --date='3 months ago'
14-02-28
[root@web000c zfs_test]# date
Sun Jun  1 00:08:50 CEST 2014
由于夏令时(夏令时),您会看到此行为.

因为你现在正处于夏季,你的时钟提前一小时,当你在三月前的六月一日午夜之后提出要求时,时间最后是一个小时“早些时候”,因为它不是夏天时间三几个月前.

GNU日期文档suggests to work around this分别在请求相对日期或月份时使用中午12点和当月15日作为起点.例如:

date +%y-%m-%d --date="$(date +%Y-%m-15) -3 month"

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...