2011-04-17 83 views
0

我正在使用Wanp作爲測試服務器。這裏是我的代碼:小時數不輸出正確

$dt = time(); 
$mysql_datetime = strftime("%Y-%m-%d %H:%M:%S %p %z" , $dt); 
echo $mysql_datetime; 

這裏是輸出:

2011-04-17 01:36:55 PM Eastern Standard Time 

我的問題是,所有的信息都是正確的,除了那時辰,這是提前4小時。小時(01 PM)假設爲(09 AM)。我在我的電腦上查看了我的日期和時間,並且時區正確。什麼會導致這種情況發生,請幫助。

回答

1

你必須在其他任何事情之前正確設置你的時區。使用date_default_timezone_setHere是支持的時區列表。

0

你可以嘗試使用DateTime類(假設你有一個合理的最新的PHP)?

喜歡的東西:

$dt = new DateTime(); 
echo $dt->format('Y-m-d H:i:s A e'); 

或者,如果它仍然得到了時區錯了,你可以嘗試將其指定:

$dt = new DateTime(null, new DateTimeZone('EST')); 
echo $dt->format('Y-m-d H:i:s A e'); 

反正更多的調試信息,我建議你看一下ini_get('date.timezone')如果不正確,應在您的php.ini文件中正確配置。