具有未来日期时间的php strtotime返回小于当前时间戳的时间戳

时间:2018-05-15 13:48:14

标签: php timestamp epoch

我在我的服务器上运行php。 strtotime 函数的文档说它将尝试将日期字符串解析为Unix时间戳(自1970年1月1日00:00:00 UTC以来的秒数)。

所以我的测试场景是:

字符串的时间戳“2018-05-15 14:30”:1526387400 => strtotime(“2018-05-15 14:30”)

根据GMT的当前时间戳 2018-05-15 13:26 :1526390790 =>时间()

我希望14:30的时间戳大于13:26。但是,尽管未来的日期字符串,该值小于当前时间戳。

我正在测试的服务器在GMT + 2时区=日期('Z')=>上运行7200。 我假设按照文档, strtotime 函数返回自纪元以来经过的第二个而不考虑时区偏移。我不确定时区偏移是否会扰乱数字。

对此的任何见解都会非常有帮助。

1 个答案:

答案 0 :(得分:0)

来自strtotime() manual

  

除非在该参数中指定了时区,否则此函数的每个参数都使用默认时区。除非是这样,否则请注意不要在每个参数中使用不同的时区。

来自time() manual

  

返回自Unix Epoch(1970年1月1日00:00:00 GMT)以来秒数测量的当前时间。

所以你的strtotime()在GMT + 2和GMT中的time()