在以UTC格式保存日期时,我可以在当地时区显示日期吗?

时间:2014-01-15 08:28:07

标签: php timestamp-with-timezone

我想在本地时区显示日期,但我已将日期保存为UTC,有任何可以使用php在本地时区显示。

1 个答案:

答案 0 :(得分:0)

PHP的strtotime函数将解释时区代码,如UTC。如果你从没有时区代码的数据库/客户端获得日期,但知道它是UTC,那么你可以追加它。

假设您获得带有时间戳代码的日期(例如“Fri Mar 23 2012 22:23:03 GMT-0700(PDT)”,这是Javascript代码""+(new Date())给出的):

$time = strtotime($dateWithTimeZone);
$dateInLocal = date("Y-m-d H:i:s", $time);

如果你不这样做,那么可能来自MySQL,那么:

$time = strtotime($dateInUTC.' UTC');
$dateInLocal = date("Y-m-d H:i:s", $time);

或者

date()localtime()都使用服务器的本地时区,除非被覆盖;您可以覆盖与date_default_timezone_set()一起使用的时区。

您可能会发现这些链接很有用

Set Default timezone

date

local-time