【问题标题】:How can I add two unix timestamps together?如何将两个 unix 时间戳加在一起?
【发布时间】:2012-03-28 15:31:05
【问题描述】:

鉴于我有 2 个时间戳:

1332954000   

这是人类可读格式的晚上 18:00。我从 strtotime("18:00") 得到这个

1330992000 

这是 2012 年 3 月 6 日星期二,人类可读格式

如何将它们加在一起,使其成为 Unix 时间戳格式的 2012 年 3 月 6 日星期二晚上 18:00?

【问题讨论】:

  • 你显然弄错了, 为我返回了 1332957600。当然明天会返回 1333044000。

标签: php add unix-timestamp


【解决方案1】:

1332954000 并不表示 18:00,它表示从 1970 年 1 月 1 日开始的 1332954000 秒。

您无法以 1970 年 1 月 1 日的秒数表示 18:00,因此您的问题毫无意义。

您可以将 18:00 表示为等于 18 * 60 * 60 = 64800 秒,然后将其添加到您的日期,这是有道理的。

您可以将字符串连接在一起,然后使用 strtotime 来获得您想要的。

【讨论】:

    【解决方案2】:

    解决方案 1

    $Var1 = '18:00'; // Not 18:00pm please....
    $Var2 = 'Tues 6 march 2012';
    $NewTimeStamp = date('U', strtotime($Var1.' '.$Var2));
    

    解决方案 2 - 不确定

    $Var1 = strtotime('18:00pm') - time();
    $Var2 = strtotime('Tues 6 march 2012');
    $NewTimeStamp = date('U', $Var1 + $Var2);
    

    请务必阅读 function.date 以了解如何格式化时间,但 U 会给您时间戳。

    另外,晚上 18:00 并不是一个真正的时间......下午 6:00 是或没有下午的 18:00

    【讨论】:

      【解决方案3】:

      时间戳只是从 1970 年 1 月 1 日开始的秒数。假设:

      1330992000
      

      是 2012 年 3 月 6 日星期二凌晨 12:00 的正确时间戳,那么您需要做的就是将 18 小时(以秒为单位)添加到时间戳。

      $timestamp + 64800 = $final_timestamp
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-18
        相关资源
        最近更新 更多