【PHP】php时间戳转化成时间相差8小时问题?关于时区设置-date_default_timezone_set()

问题:
CMS系统配置带时间的数据,解析“时间日期”转换成时间戳(s),再转换时间格式,发现差8小时。
如图:(编辑CMS后台配置)
这里写图片描述
程序接口输出:(转换时间戳)

这里写图片描述
明显看出,相差8个小时。

解决:

// 程序转换时间戳前 增加时区设置
date_default_timezone_set("PRC");

TIPS:

  1. 中国时区设置方式(推荐):主要以下4种(当然也可以设
    Asia/Hong_Kong – 香港
    Asia/Macao – 澳门
    Asia/Taipei – 台北 )

    1. //”Asia/Shanghai”为“亚洲/上海”
      date_default_timezone_set(“Asia/Shanghai”);

    2. //”Asia/Chongqing”为“亚洲/重庆”
      date_default_timezone_set(“Asia/Chongqing”);

    3. //”Asia/Harbin”为”亚洲/哈尔滨”
      date_default_timezone_set(“Asia/Harbin”);
    4. (推荐)
      //”PRC”为“中华人民共和国”
      date_default_timezone_set(“PRC”);

    ===

  2. 设置php.ini文件(不推荐)
    如图:
    这里写图片描述

    在php.ini中找到date.timezone 去掉它前面的;号,然后设置date.timezone = “PRC”;即可。

参考:
http://www.php.net/manual/zh/timezones.php

https://my.oschina.net/cart/blog/317894

https://blog.csdn.net/z21_seven/article/details/44538137

猜你喜欢

转载自blog.csdn.net/guodonggang/article/details/80840734