2013-02-20 34 views
0

在PHP 5.2中,我使用下面的代碼從DateTime對象獲取時間戳。DateTime-> format(「U」)不返回帶時區信息的值

$dateTime = new DateTime("now", new DateTimeZone("America/Los_Angeles")); 

echo $dateTime->format("U"); 

問題是,格式( 「U」)簡單地返回服務器時間戳,這是UTC。

如何讓它從太平洋時區(洛杉磯)返回時間戳?

+3

時間戳應該是UTC(根據定義自格林威治標準時間以來的秒數)。將它們傾斜到本地化表示方式會適得其反,因此應該保留在將其轉換爲日期字符串之前。 – mario 2013-02-20 03:16:09

回答

5

您的時間戳的概念是不對的,時間戳時區獨立,它被定義爲,因爲午夜協調世界時(UTC)已經過去的秒數,1970年1月

-1

嘗試設置PHP腳本頂部的時區。我認爲時間戳總是UTC。使用date()函數將其格式化爲您需要的內容。

// set timezone to pacific time 
    date_default_timezone_set('America/Los_Angeles'); 
+0

這可行,但我不想使用它。 – Moon 2013-02-20 07:44:48

相關問題