2012-02-14 75 views
0

我有一點,但是討厭的問題:PHP和MySQL紀錄的個體時區

我有很多記錄的數據庫,每一個記錄與MySQL時間戳兩個領域,就像這樣: 2012-02-14 11 :09:59

因爲每一行都有它的單獨時區(我將時區保存爲字符串,比如「歐洲/柏林」以及浮點字段中的+1這樣的偏移量),我有一個小問題:

我想查詢數據庫的記錄是新的還是舊的--now- 我可以將日期轉換爲GMT和searc h他們與服務器tmz-offset。 容易,buuuuttt,麻煩的是,我想有可能搜索在某些當地時間發生的記錄,例如:

我想搜索明天22:00發生的事情全世界。 現在,如果我將所有時間戳轉換爲格林威治標準時間我不能這樣做,因爲在哪裏條件22:00不會是當地時間,但GMT時間... 有沒有什麼辦法可以結合時間戳和一個查詢中的tmz字段?

感謝1000提前!

+0

'現在,如果我所有時間戳轉換爲GMT我不能這樣做that'爲什麼不? – 2012-02-14 11:01:26

回答

1

我想輸出的日期

  • 時理想的解決辦法是要麼

    • 商店所有次UTC和做偏移計算,也有與UTC日期第二,單獨的列。

    但是,你原來的規定應該是可能的 - 使用DATE_ADD()計算正確的偏移量:

    SELECT DATE_ADD(event_time, INTERVAL event_time_offset HOUR) 
    
  • +0

    使用兩個不同領域的解決方案似乎是最好的,尤其是性能方面... 再次感謝! =) – 2012-02-14 11:15:26