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

前端之家收集整理的这篇文章主要介绍了为什么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"

猜你在找的Bash相关文章