终于解决了时区的问题 - KatCloud
终于解决了时区的问题
浏览 47 | 评论 0 | 字数 788
DandyChan
2020年10月21日
  • 这是很久的遗留问题了,今天突然想到。寻思着总不能每次写文章都得点一下日期吧,多出来的这一步也太不合理了,于是继续寻找解决时区的办法。

    typecho的问题?

    在后台已设置为GMT+8的情况下,根据偏爱一丛花的解决办法,进入/var/Widget/Init.php,把默认时区中的@date_default_timezone_set('UTC');修改成这样:

    /** 默认时区 */
    if (function_exists("ini_get") && !ini_get("date.timezone") && function_exists("date_default_timezone_set")) {
        @date_default_timezone_set('Asia/Shanghai');
    }    
    

    发布文章测试后发现,日期仍是+6小时的。

    MySQL的问题?

    有这个想法的时候在想,时间是页面传给数据库的,似乎并没有联系,进命令行发现,数据库时区也并没有错误。

    PHP服务器的问题?

    根据排除法,应该就是PHP的问题了。找到php.ini里面的date.timezone,有了惊人的发现。

    date.timezone=Europe/Berlin

    百度一搜,柏林刚好与北京有着6个小时的时差。原来系统把当前的时间当作的柏林时间,刚好解释了为什么文章的发布时间与实际时间有着6个小时的时差。

    至此,发布文章的时间以及修改文章后的时间问题一并解决。
    还剩下脑壳疼的时光机。。

    本文作者:DandyChan
    本文链接:http://katcloud.cn/archives/81/
    最后修改时间:2020-10-21 14:48:43
    本站未注明转载的文章均为原创,并采用 CC BY-NC-SA 4.0 授权协议,转载请注明来源,谢谢!
    评论
    留下评论吧!
    textsms
    支持 Markdown 语法
    email
    link
    评论列表
    暂无评论