我如何处理存储日期,如2011-01-30 18:23:49,并将其调整到任何选定的时区?是否有一种简单的方法,例如简单地通过缩写定义时区或添加/减去x小时数?
基本上我希望用户能够选择他们的时区,并调整此默认日期以适合他们的.
基本上我希望用户能够选择他们的时区,并调整此默认日期以适合他们的.
>让用户选择他们的时区
>将该区域名称或偏移量与
>使用
>使用
>添加步骤3中的偏移量,将该时间转换为用户的时区.
>再次使用日期将时间戳格式化为所需显示格式的字符串.
>将该区域名称或偏移量与
date_default_timezone_set
一起使用,以在整个脚本执行过程中设置日期函数中使用的默认时区.
>使用
date('Z')
在几秒钟内从GMT获得该时区的偏移量
>使用
strtotime
将存储日期转换为时间戳 – UNIX时间戳始终为GMT,因此您现在可以使用GMT.
>添加步骤3中的偏移量,将该时间转换为用户的时区.
>再次使用日期将时间戳格式化为所需显示格式的字符串.
例:
$user_timezone = 'America/Los_Angeles'; $stored_time = '2011-01-30 18:23:49'; date_default_timezone_set($user_timezone); $timestamp = strtotime($stored_time); $local_timestamp = $timestamp + date('Z'); $local_date = date('Y-m-d H:i:s',$local_timestamp); echo $local_date;