许大阳的日记本 花雨梦,几多情,魂依今生,一切终将逝去,永恒的只有凄美的思念。一曲离殇,此生,你注定是凋落在我身后的繁华旧梦。

苏ICP备2021014930号

网站已运行 143 天 19 小时 8 分

Powered by Typecho & © 2023

2 online

Title

BUG日记 ● 修改typecho时区

许大阳

·

Article
⚠️ 本文最后更新于2023年10月07日,已经过了139天没有更新,若内容或图片失效,请留言反馈
前言

当我所有东西基本设置完了以后发现了一个问题:后台撰写文章发布后文章显示时间为八小时前

解决方法

▶首先确定服务器时间与北京时间同步(没问题看下面)
▶typecho 默认的时区是 UTC 协调世界时,我们需要将它改为 Asia/Shanghai 具体的操作方法是在网站的根目录下的 var/Widget/Init.php 文件中找到以下字段进行修改

html 代码:
 @date_default_timezone_set('UTC');    将其中的 UTC 改成 Asia/Shanghai 或你需要的时区

@date_default_timezone_set('UTC');
Asia/Shanghai

现在已有 6 条评论,0 人点赞
Comment
发表
  1. 头像
    @
    电脑星人

    中国广东省深圳市电信

    这个问题的原因其实并不是 Typecho 默认时区为 UTC(typecho 的默认时区应该是 UTC+8 的),而是 PHP 的默认时区为 UTC。Typecho 后台可以设置时区,但 Typecho 使用的是自己实现的一套时区计算时间的代码 Typecho\Date,而没有调用 PHP 的 date_timezone_set 去修改 PHP 的时区设置。
    · Windows · Chrome
    1. 头像
      @
      电脑星人 @电脑星人

      中国广东省深圳市电信

      所以:Typecho 后台设置的时区只对 Typecho 提供的一些时间打印函数生效(比如 Widget\Contents->date()) ,而对 php 内置的日期时间函数(比如 date)不生效;主题打印的时间不对,很可能是因为没有调用 Typecho 的时间打印函数,而是直接调用了 php 的 date 函数。
      · Windows · Chrome
      1. 头像
        @
        👑 许大阳 @电脑星人

        中国江苏省无锡市宜兴市电信

        看懂了好像也没看懂?
        · Windows · Chrome
  2. 头像
    @
    mumuo

    中国山东省联通

    ???祝小站越做越好
    · Windows · Chrome
    1. 头像
      @
      👑 许大阳 @mumuo

      中国江苏省无锡市电信

      好 谢谢?
      · Windows · Chrome
  3. 头像
    @
    mumuo

    中国山东省联通

    按照这个方法真成功了 ,终于解决了我的困扰。感谢打扰???
    · Windows · Chrome
搜 索
博主