2013-02-20 33 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

相关问题