我在我的數據庫中存儲事件。我有'開始'和'結束'日期時間,'tickets_start'和'tickets_end'(用於門票銷售實際開始/結束時 - 與實際活動的開始/結束相反)。如何存儲重複日期銘記夏令時
到目前爲止,我已經建立的方法是做所有有趣的東西,如保存前的日期/時間轉換爲GMT,然後回到各自的時區顯示。
我將時區存儲在類似「America/New_York」的值的varchar字段中。
但是 - 現在我需要開始處理,如果用戶想要允許重複事件。我之前就已經完成了,這並不是什麼大不了的事情,但從來沒有跨越多個時區。起初,我認爲這沒什麼大不了的,但後來才意識到 - 如果最初的開始日期是在七月(例如),並且它每年重複一年,在某個時間點,夏令時時間將使得格林威治標準時間的轉換會有所不同。一個月,當轉換12:00時,它會將其更改爲-5,接下來,由於DST,它會將其更改爲-4。
我目前的想法是,我將存儲一個'dst'tinyint(1),以確定在DST期間是否輸入了開始/結束日期,然後創建一種方法在必要時將時間改變一小時。
但是 - 想我會在這裏提問,希望也許有一個「正常」這個或一個簡單的東西,我沒有想到的。
(CakePHP中的2.4.x)
可能重複(http://stackoverflow.com/questions/2532729/daylight-saving-time-and-time-zone-best-practices) – vascowhite