【问题标题】:How do I add 24 hours to a unix timestamp in php?如何在 php 中为 unix 时间戳添加 24 小时?
【发布时间】:2011-01-31 16:25:48
【问题描述】:

我想暂时将 24 小时添加到时间戳。如何找到 24 小时的 unix 时间戳编号,以便立即将其添加到时间戳中?

我还想知道如何将 48 小时或多天添加到当前时间戳。

我怎样才能最好地做到这一点?

【问题讨论】:

  • “如何添加 48 小时或多天” - 夏令时是个问题吗?
  • 我想指出 Álvaro G. Vicario 的回答。添加简单的 24 小时可能不是您在每种情况下都想要的。
  • 是的,这就是为什么我想知道 zeckdude 是否知道 dst 以及他是否对此感到担忧。

标签: php timestamp


【解决方案1】:

您可能希望添加一天而不是 24 小时。由于(在其他情况下)夏令时,并非所有日子都有 24 小时:

strtotime('+1 day', $timestamp);

【讨论】:

  • 这个案例并没有那么晦涩难懂,因为早先问题的所有其他代码都会在下周日早上中断。 +1
  • 由于这种情况,我的代码认为 March 有 32 天,因此最好记住 DST,除非您仅在 GMT 中操作。
【解决方案2】:

Unix 时间戳只是自 1970 年 1 月以来的秒数,因此要将 24 小时添加到 Unix 时间戳,我们只需添加 24 小时的秒数。 (24 * 60 *60)

time() + 24*60*60;

【讨论】:

  • 24*60*60 = 86400(可能会为某人节省几秒钟)
【解决方案3】:

添加24*3600,即24小时内的秒数

【讨论】:

  • 当夏令时从冬季切换到夏季或反之亦然时,这可能无法正常工作
【解决方案4】:

Unix 时间戳以秒为单位,因此只需将相应的秒数添加到时间戳即可:

$timeInFuture = time() + (60 * 60 * 24);

【讨论】:

  • 不,这不会考虑夏令时从夏季到冬季的切换,反之亦然
【解决方案5】:

您也可以使用DateTime 类:

$timestamp = mktime(15, 30, 00, 3, 28, 2015);

$d = new DateTime();
$d->setTimestamp($timestamp);

添加 P1 Day:

$d->add(new DateInterval('P1D'));
echo $d->format('c');

更多详情请见DateInterval

【讨论】:

    【解决方案6】:

    正如您所说,如果您想立即为时间戳添加 24 小时,那么您可以这样做:

     <?php echo strtotime('+1 day'); ?>
    

    以上代码将为您当前的时间戳增加 1 天或 24 小时。

    代替+1 day,您可以随心所欲,正如php手册所说strtotime可以解析任何英文文本日期时间描述成 Unix 时间戳

    手册中的示例如下:

    <?php
         echo strtotime("now"), "\n";
         echo strtotime("10 September 2000"), "\n";
         echo strtotime("+1 day"), "\n";
         echo strtotime("+1 week"), "\n";
         echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
         echo strtotime("next Thursday"), "\n";
         echo strtotime("last Monday"), "\n";
    ?>
    

    【讨论】:

      【解决方案7】:
      $time = date("H:i", strtotime($today . " +5 hours +30 minutes"));
      //+5 hours +30 minutes     Time Zone +5:30 (Asia/Kolkata)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-30
        • 2020-12-24
        • 2011-01-29
        • 1970-01-01
        相关资源
        最近更新 更多