【问题标题】:Get future timestamps获取未来的时间戳
【发布时间】:2010-07-21 23:05:17
【问题描述】:

是否有可能在 7 天后获得 unix 时间戳?

会很棒!

【问题讨论】:

标签: php


【解决方案1】:

是的,获取 unix 时间戳并将 25200 添加到它。如果要格式化该时间戳,可以使用 date()。

$future = time() + (60 * 60 * 24 * 7);
date("o", future);

来自 PHP 文档的 time()

date('Y-m-d', strtotime('+1 week'))

【讨论】:

  • 你似乎也在用错误的语言思考……“int future”:)
【解决方案2】:

好的。

获取当前时间戳。添加 7 天的秒数。

注意:当前时间戳的时间戳“提前 7 天”(以 7 * 86400 秒表示)可能不代表同一天或一天​​中的同一小时(耶夏时制!)甚至同一秒(罕见,耶闰秒!)。

【讨论】:

    【解决方案3】:
    time() + (60 * 60 * 24 * 7);  // "good enough"
    strtotime('+7 days');         // daylight savings save
    

    【讨论】:

      【解决方案4】:

      只需加上 7 天?

      $future = time() + 60*60*24*7;
      //      seconds  ---^  ^ ^  ^ 
      //        minutes   ---^ ^  ^
      //          hours     ---^  ^      
      //            days       ---^
      

      time()....哦,那里给出的例子正是你想要的......我猜你以前没有读过手册。

      【讨论】:

        【解决方案5】:

        在最新版本的 PHP 上执行此操作的正确方法是使用 DateTime 对象(在我看来)。

        $date = new DateTime('now'); // can be anyting else too
        $date->modify('+1 week');
        
        // PHP 5.3
        $future = $date->getTimeStamp(); 
        
        // PHP 5.2
        $future = $date->format('U');
        

        【讨论】:

        • 我认为这有点冗长,而不是像 deceze 和臭名昭著的建议那样只做 strtotime('+7 days');...
        【解决方案6】:
        $now = time() + (7 * 24 * 60 * 60);
        

        使用 time() 获取当前的 unix 时间戳,然后乘以 60 秒、60 分钟、24 小时和 7 天。

        【讨论】:

        • 你不应该调用变量 $now ,因为这具有误导性,因为它实际上不是现在的时间,而是从现在开始的 1 周后的时间。
        猜你喜欢
        • 1970-01-01
        • 2021-10-06
        • 2011-08-20
        • 2021-10-01
        • 2020-10-30
        • 2012-08-03
        • 1970-01-01
        • 2016-12-13
        • 2021-04-30
        相关资源
        最近更新 更多