2012-09-12 571 views
1

如果任何人都可以提供幫助,我在Linux中的date命令有一個小問題,我用它來及時跳轉以觸發我們的結算過程,以便我們可以快速測試。測試夏令時更改

我的問題是,當我運行

date --set="OCT 27 01:00:59 BST 2012 2 day" 

歸期我得到的是週一10月29日北京時間00:00:59 2012這是正確的,因爲它需要在交代當日光節約。

但是當我運行

date --set="MAR 30 00:00:59 GMT 2013 3 day" 

我得到的4月2日00:00:59 BST 2013,因爲我想這是錯誤的是4月2日1點00分59秒BST 2013

爲什麼它是以一種方式工作而不是另一種方式,那麼處理這種情況的最佳方式是什麼?

感謝

+0

根據[this](http://wwp.greenwichmeantime.com/time-zone/europe/uk/time/british-summer-time/),你的第二個命令實際上並沒有跨越節省時間的變化BST(它發生在3月25日),所以我不確定爲什麼你會期望額外的小時輪班 –

+1

這是夏令時的單數。這不是夏令時和貸款,你知道。 – tchrist

+0

@DanielDiPaolo根據您提供的網站,時鐘在2013年3月31日再次發生了變化。所以對我來說仍然是一個問題。 – Clayton

回答

1

據:http://ascending.wordpress.com/2008/04/03/how-linux-handles-summer-time/ 使用

zdump -v Europe/Chisinau 

您所在地區時看到你的系統中添加/刪除一個額外的DST小時

但實際上,你請求的日期BST(英國夏令時)在DST切換後一天,另一種情況下,您在格林威治標準時間2天內要求格林威治標準時間到達DST開關,但GMT沒有夏令時偏移。