在PHP 5.2中,我使用下面的代码从DateTime对象获取时间戳。DateTime-> format(“U”)不返回带时区信息的值
$dateTime = new DateTime("now", new DateTimeZone("America/Los_Angeles"));
echo $dateTime->format("U");
问题是,格式( “U”)简单地返回服务器时间戳,这是UTC。
如何让它从太平洋时区(洛杉矶)返回时间戳?
在PHP 5.2中,我使用下面的代码从DateTime对象获取时间戳。DateTime-> format(“U”)不返回带时区信息的值
$dateTime = new DateTime("now", new DateTimeZone("America/Los_Angeles"));
echo $dateTime->format("U");
问题是,格式( “U”)简单地返回服务器时间戳,这是UTC。
如何让它从太平洋时区(洛杉矶)返回时间戳?
您的时间戳的概念是不对的,时间戳时区独立,它被定义为,因为午夜协调世界时(UTC)已经过去的秒数,1970年1月。
尝试设置PHP脚本顶部的时区。我认为时间戳总是UTC。使用date()函数将其格式化为您需要的内容。
// set timezone to pacific time
date_default_timezone_set('America/Los_Angeles');
这可行,但我不想使用它。 – Moon 2013-02-20 07:44:48
时间戳应该是UTC(根据定义自格林威治标准时间以来的秒数)。将它们倾斜到本地化表示方式会适得其反,因此应该保留在将其转换为日期字符串之前。 – mario 2013-02-20 03:16:09