2015-08-31 36 views
0

我在我的数据库中保存UTC时区的日期/时间。 喜欢:2015年7月22日17时08分11秒将UTC时间转换为yii2中的PST?

我想这个时间转换为太平洋时区2015年7月22日11时07分18秒

还不知道我使用这个功能:

public static function UTCToPST($format, $time) { 
    $dst = intval(date("I", $time)); 
    $tzOffset = intval(date('Z', time())); 
    return date($format, $time + $tzOffset - 28800 + $dst * 3600); 
    } 

我应该做的2015年7月22日11时07分18秒格式获得时间? 或者在yii2中有任何其他的好方法吗?

谢谢。

+0

您的计算偏移量的方法存在缺陷。由于夏令时和其他时区奇怪,*当前*偏移量不一定是所提供时间的正确偏移量。你应该使用PHP的'DateTime'和'DateTimeZone'类。 –

回答

0

我总是存储日期/时间(在MySQL中使用INT(11))数据库中的Unix时间戳

因为它是Unix的时间戳,只需使用PHP日期()将其转换为datetime更改为预定义时区