mysql日期本地化_php date时间本地化问题(转)

php date时间本地化问题(转)

今天在写一个东西时,发现时间一直对不上,date("Y-m-d h:i:s") 总是与服务器时间差几个小时.

原来从php5.1.0开始,php.ini里加入了date.timezone这个选项,默认情况下是关闭的

也就是显示的时间(无论用什么php命令)都是格林威治标准时间

和我们的时间(北京时间)差了正好8个小时

解决方式:

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

date_default_timezone_set('PRC');

echo date('Y-m-d H:i:s');

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

二、修改php.ini。

打开php5.ini查找date.timezone 去掉前面的分号 = 后面加XXX,重启http服务(如apache2或iis等)即可。

关于XXX,大陆内地可用的值是:Asia/Chongqing ,Asia/Shanghai ,Asia/Urumqi

(依次为重庆,上海,乌鲁木齐)港台地区可用:Asia/Macao ,Asia/Hong_Kong ,Asia/Taipei

(依次为澳门,香港,台北)

还有新加坡:Asia/Singapore

老外好像把北京漏调了

其他可用的值是:Etc/GMT-8 ,Singapore ,Hongkong ,PRC

PRC是什么?PRC是中华人民共和国啊-_-

以上都是从php官方说明档里整理出来的GMT+8下面的地区,可能会有遗漏。

相关文档:

对于运行在apache里的php应用来说,static变量的作用域是一次http请求。

可以通过以下代码进行验证:

# test.php

function test(){

static $sss = 0;

++$sss;

echo $sss;

}

test();

?>

访问/test.php ,可以看到,总是 ......

如果不具备修改php.ini的权限,可以如下:

ini_set("display_errors", "On");

error_reporting(E_ALL | E_STRICT);

当然,如果能够修改php.ini的话,如下即可:

display_errors = On

error_reporting  =  E_ALL & ~E_NOTICE ......

php.ini 的搜索路径如下(按顺序):

* SAPI 模块所指定的位置(Apache 2 中的 PHPIniDir 指令,CGI 和 CLI 中的 -c 命令行选项,NSAPI 中的 php_ini 参数,THTTPD 中的 PHP_INI_PATH 环境变量)

*HKEY_LOCAL_MACHINE\SOFTWARE\PHP\IniFilePath(Windows 注册表位置)

&nb ......

header("Content-type:application/vnd.ms-excel");

header("Content-Disposition:filename=php100.xls");

/* echo "A1\t B1\t C1\n";

echo "A1\t B1\t C1\n";

echo "A1\t B1\t C1\n";

*/

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值