我有生成icalendar事件的代碼,包括夏時制的時區定義。如何測試icalendar夏令時是否工作?
時區爲CET/CEST這樣定義:
BEGIN:VTIMEZONE
TZID:Europe/Prague
BEGIN:DAYLIGHT
TZOFFSETFROM:+0100
TZOFFSETTO:+0200
TZNAME:CEST
DTSTART:20160327T020000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=3
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:+0200
TZOFFSETTO:+0100
TZNAME:CET
DTSTART:20161030T030000
RRULE:FREQ=YEARLY;BYDAY=-1SU;BYMONTH=10
END:STANDARD
END:VTIMEZONE
雖然我相信這個時區的定義是正確的,活動將有正確的期間STANDARD
時間偏移量(正常工作與CEST到目前爲止),什麼都可以我確定嗎?
我可以手動設置時鐘爲30. 10. 2016 3:00,但這種方式我不能模擬3:00 - > 2:00的偏移過渡將自動發生(由於NTP),因爲我然後必須手動將時鐘設置回一小時,這樣我會在夏令時變化之前的一小時內讓我恢復。
有沒有一種方法來欺騙時間與自己的NTP服務器或強制操作系統(Linux在這種情況下)來改變時間偏移?或者其他任何模擬時間偏移變化的技巧?