我在 PHP 中使用过打印当前日期和时间:
$now = time();
echo date('j M, Y H:i:s',$now);
就日期、月份、年份而言,结果是准确的。但是同一台计算机上的时间不匹配(在 localhost 中进行测试)。PHP 脚本显示:2013 年 11 月 9 日 02:35:11 而我的电脑上的时间是:上午 8:05
我在 PHP 中使用过打印当前日期和时间:
$now = time();
echo date('j M, Y H:i:s',$now);
就日期、月份、年份而言,结果是准确的。但是同一台计算机上的时间不匹配(在 localhost 中进行测试)。PHP 脚本显示:2013 年 11 月 9 日 02:35:11 而我的电脑上的时间是:上午 8:05
有三种使用时区的方法:
在 php.ini 文件中设置默认时区(不推荐):
[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = America/Sao_Paulo
这仅适用于在此 php.ini 配置的服务器上运行的 PHP 文件。
在初始化 PHP 脚本中设置默认时区:
date_default_timezone_set('America/Sao_Paulo');
这几乎适用于所有脚本。
使用 DateTimeZone 对象:
$date = new DateTime('2013-11-09 01:08:32', new DateTimeZone('America/Sao_Paulo'));
这适用于所有脚本,但可能会有点乏味。
原因是您的 php.ini 使用了不同的时区。
也许这对您有用(当然更改为您的时区):
date_default_timezone_set("America/Phoenix");
转换功能:
// converts from UTC to Phoenix time
function timezone_convert($datetime) {
$datetime = new DateTime($datetime);
$phx_time = new DateTimeZone('America/Phoenix');
$datetime->setTimezone($phx_time);
$datetime = $datetime->format('Y-m-d H:i:s');
return $datetime;
}