这怎么可能,我该如何处理呢?我正在制作依赖于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"