MySQL CONVERT_TZ() 考慮夏令時
問題1:
問題1:是的,你🎜的理解是正確的。 CONVERT_TZ() 在指定時區名稱時考慮夏令時。例如,CONVERT_TZ('00:00:00', 'UTC', 'US/EASTERN') 確實會在1 月1 日返回“19:00:00”,在7 月1 日返回“20:00:00 」。
問題2:不,你不需要不斷更新MySQL的時區表來維持時區UTC偏移量是最新的。當時區規則發生變化時,MySQL 會自動更新表。
問題3:SELECT CONVERT_TZ(now(),'US/Eastern','US/Central');SELECT CONVERT_TZ('2004-01-01 12:00:00' 的結果,'GMT','MET') 產生「NULL 」可能表示時區表設定不正確。 要檢查這一點,您可以執行以下查詢:
如果結果不為 NULL,則時區表設定正確。
替代時區偏移計算:select utc_timezone() - interval user_timezone_offset_in_hours hour from userinfo a where user_id = 999;如果您沒有時間設定好區域表後,您仍可使用下列查詢計算時區偏移:
但是,這種方法需要您手動更新使用者的時區偏移。
透過 JavaScript 取得時區:對於 Web 應用程序,您可以透過 JavaScript 取得使用者的時區。以下連結提供如何執行此操作的範例:[JavaScript 時區偵測](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl .DateTimeFormat )
使用INTERVAL 進行時間計算:select now() a, now() - interval 1 day + interval 4 hour + interval 8 minute b;INTERVAL 關鍵字可以方便地對時間值進行加法和減法。例如,以下查詢從目前時間減去 1 天 4 小時 8 分鐘:
以上是MySQL 的 CONVERT_TZ() 函式是否處理夏令時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!