2009-12-31 22 views
1

問題1)
方法假設一個用戶在我的應用程序保存爲「美國/紐約」時區設置,我只想用這個頁面,在這裏我需要 顯示正確的時間上與區偏移量和夏令應用最佳PHP時區

<?php 
$time_zone = 'America/New_York'; 
date_default_timezone_set($time_zone); 
echo date('D,F j, Y, h:i:s A'); 
?> 

,或者我應該用更多的東西喜歡這種方法 當我查詢我的數據我用下面的PHP腳本

<?PHP 
while($row = mysql_fetch_array($registration)){ 

$dt_obj = new DateTime($row['message_sent_timestamp']." UTC"); 
$dt_obj->setTimezone(new DateTimeZone('America/New_York')); 
echo $formatted_date_long=date_format($dt_obj, 'Y-m-d H:i:s'); } 
?> 
+1

http://stackoverflow.com/questions/1727077/generating-a-drop-down-list-of-timezones-with-php – Xeoncross 2009-12-31 18:05:31

回答

3

我更喜歡根據用戶輸出的首選項顯式格式化日期,而不是爲整個執行腳本設置默認時區。這樣可以更輕鬆地處理默認情況下的UTC日期,以執行諸如保存數據或計算已用時間等操作。

您可以輕鬆編寫考慮用戶時區的日期格式功能/方法。我通常加載用戶時區一次,然後在每個後續日期格式化調用中訪問緩存的時區。這種快速方法可以防止我無意中以錯誤的時區格式使用或保存數據。

+0

是的,這是我如何做到這一點 – JasonDavis 2009-12-31 19:12:42