2010-05-28 59 views
1

我有一段時間正在以UTC時間發送給我,但我想調整它,使其位於東海岸時間(EST/EDT)的日子外緣。也就是說,我希望用戶能夠輸入以EDT/EST爲中心的日期,並使用UTC正確的日期進行查詢。PHP時區調整

$start_date$end_date是通過GET變量傳遞的MM/DD/YYYY格式的日期。

$start_date = date('Y-m-d 00:00:00', $start_date); 
$end_date = date('Y-m-d 23:59:59', $end_date); 

這些日期用於數據庫查詢,其時間以UTC時間存儲。

因此,我希望開始日期是在夏令時的晚上8點或7點,這取決於夏令時,然後再根據夏令時結束於7:59:59或6:59:59。

我該怎麼做?

+0

您正在使用哪個數據庫? Postgres例如有一個名爲「timestamp with time zone」的字段類型,它完全符合你的要求。該數據庫將負責您所有的時區轉換。 – Kenaniah 2010-05-28 23:27:20

+0

你檢查了[date_default_timezone_set()](http://fr.php.net/manual/en/function.date-default-timezone-set.php)函數嗎? – 2010-06-03 16:19:35

回答

0

在MySQL中,你可以做到以下幾點:

SELECT * FROM tablename WHERE date = DATE_SUB('2010-06-17 00:00:00',INTERVAL 4 HOUR);