PHP时区的最佳方法

时间:2009-12-31 18:02:36

标签: php javascript mysql time timezone

问题1)
假设用户在我的应用程序中将时区设置保存为“America / New_York”,我是否会在需要的页面上使用此设置  显示时区偏移和夏令时的正确时间

<?php
$time_zone = 'America/New_York';
date_default_timezone_set($time_zone);
echo date('D,F j, Y, h:i:s A');
?>

或者我应该使用更像这种方法的东西 当我查询我的数据时,我使用以下PHP脚本

<?PHP
while($row = mysql_fetch_array($registration)){ 

$dt_obj = new DateTime($row['message_sent_timestamp']." UTC");
$dt_obj->setTimezone(new DateTimeZone('America/New_York'));
echo $formatted_date_long=date_format($dt_obj, 'Y-m-d H:i:s'); }
?>

1 个答案:

答案 0 :(得分:3)

我更喜欢根据输出上的用户首选项显式设置日期格式,而不是为整个执行脚本设置默认时区。这样可以更容易地处理日期,例如UTC,默认情况下,用于保存数据或计算已用时间等操作。

您可以轻松编写考虑用户时区的日期格式化功能/方法。我通常加载一次用户时区,然后在每个后续日期格式化调用中访问缓存的时区。这种快速方法可以防止我以错误的时区格式无意中使用或保存数据。