【问题标题】:strtotime() not converting correctly in wordpressstrtotime() 在 wordpress 中没有正确转换
【发布时间】:2021-11-17 18:25:43
【问题描述】:

我在 wordpress 中的 strtotime() 中遇到问题,它根据我配置的本地时区减去小时数。

例如,我在它显示的在线 php 编译器上尝试了 strtotime("2021-11-16 00:00:00")...

1637020800

但是当我在我的 wordpress 网站上运行相同的程序时,var_dump(strtotime("2021-11-16 00:00:00")); 它显示:

1637002800

这是错误的,因为我在常规设置中设置了 GMT+5,所以减去了 5 小时。

我试过 current_time('timestamp') 但没有用

有人可以帮忙吗?

【问题讨论】:

  • 如果我仔细阅读手册,这似乎是不可能的。你有一个绝对的日期和时间。 strtotime() 应该将其解析为自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数。
  • @KIKOSoftware 是否有可能 1970 年 1 月 1 日 00:00:00 UTC 未设置为基本日期和时间,并且可以检查一些方法吗?
  • 我只运行了这个var_dump(strtotime("2021-11-16 00:00:00"));,但它显示错误,即 1637002800
  • 当然可以,但如果我按照手册中的内容进行操作,它不应该那样工作。似乎时区有影响。我想它可以首先将您所在时区的绝对时间转换为 UTC,然后计算自 1970 年 1 月 1 日 00:00:00 UTC 以来的秒数。
  • 谢谢你的队友@RiggsFolly

标签: php wordpress


【解决方案1】:

我在 wordpress 版本 5.4.2 中发现了问题,所以基本上在时区中,如果您选择城市、国家,它会向您显示这个问题。 而如果您选择像 GMT +5 等,它将显示正确。

所以我将 Karachi 更改为 GMT+5 使其排序。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-06
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 2012-11-12
    • 1970-01-01
    相关资源
    最近更新 更多