你也许会发现,输出的时间和你现在的时间是不相同的。 原因是假如你"/> 你也许会发现,输出的时间和你现在的时间是不相同的。 原因是假如你">

ホームページ >php教程 >php手册 >PHP 的时区设置问题

PHP 的时区设置问题

WBOY
WBOYオリジナル
2016-06-13 09:38:031000ブラウズ

装上PHP5后你会发现这样的问题:

<?php
$atime=date("Y-m-d H:i:s");
echo $atime;
?>

你也许会发现,输出的时间和你现在的时间是不相同的。

原因是假如你不在程序或配置文件中设置你的服务器当地时区的话,PHP所取的时间是格林威治标准时间,所以和你当地的时间会有出入。

格林威治标准时间和北京时间大概差8个小时左右 那么我们如何避免时间误差呢?

我们一起来看看解决方法:

在页头使用date_default_timezone_set()设置我的默认时区为北京时间。

<?
date_default_timezone_set('PRC');
echo date('Y-m-d H:i:s');
?>

时间和服务器当前时间一样了。

如果发生插入数据库错误的话,请确保 date('Y-m-d H:i:s') 中的 H 为大写。

另外附date_default_timezone_set用法如下:

date_default_timezone_set

(PHP 5 >= 5.1.0RC1)

date_default_timezone_set -- 设定用于一个脚本中所有日期时间函数的默认时区

说明

bool date_default_timezone_set ( string timezone_identifier )

date_default_timezone_set() 设定用于所有日期时间函数的默认时区。

注: 自 PHP 5.1.0 起(此版本日期时间函数被重写了),如果时区不合法则每个对日期时间函数的调用都会产生一条 E_NOTICE 级别的错误信息。

参数

timezone_identifier

时区标识符,例如 UTC 或 Europe/Lisbon

返回值

本函数永远返回 TRUE(即使 timezone_identifier 参数不合法)。

或者修改 php.ini 中 date.timezone 值,date.timezone = PRC

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。