【问题标题】:Timestamp intervals processed by date() don't calculate correctlydate() 处理的时间戳间隔计算不正确
【发布时间】:2011-08-10 03:43:48
【问题描述】:

我的数据库中有两个 unix 时间戳,我将其减去以获得以秒为单位的时间间隔:

$interval = $array["time2"] - $array["time1"]; // When echoed, $interval = 3

但是,当我通过date() 运行此 $interval 时,如下所示:

echo date("g\h i\m", $interval);

这3秒一下子回响到:

7h00m

有谁知道为什么 date() 可能会花费这 3 秒并以某种方式将它们延长到 7 小时的间隔?

【问题讨论】:

    标签: php timestamp intervals


    【解决方案1】:

    date() 的第二个参数是时间戳(自格林威治标准时间 1970 年 1 月 1 日午夜以来的秒数)。您的时间间隔可能等于您所在时区相对于该日期的早上 7 点。

    【讨论】:

    • 为什么3 不是一个有效的时间戳?那不是代表 1970 年 1 月 1 日午夜之后的 3 秒吗?
    • @esqew 我更新了我的答案。这可能考虑到您的时区(柬埔寨、圣诞岛、印度尼西亚、老挝、泰国、越南?)。
    • 哦,真烦人。我确实在文件开头设置了时区:date_default_timezone_set('America/New_York');
    • 如何使用为这个date_diff()设计的函数,DateTime::diff()
    • 哦...date_diff() 很漂亮,不知道。 ;) 非常感谢。
    猜你喜欢
    • 1970-01-01
    • 2018-06-09
    • 2018-07-08
    • 1970-01-01
    • 2022-01-16
    • 2016-11-14
    • 2018-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多