【问题标题】:Check if 1 timestamp is later then current timestamp检查 1 个时间戳是否晚于当前时间戳
【发布时间】:2014-01-14 20:50:38
【问题描述】:

我有一个计算交货时间的脚本......所以......订单日期的时间戳 - 当前时间戳显示时间......

这一切都很好。但有时有命令客户可以设置未来的时间或日期..

所以对于那些订单,我不想显示柜台,而是要做什么这样的事情(所有时间戳都是 0000-00-00 00:00:00)

$time1 = date($orderItem->elapsed_time); //now
    $time2 = date($orderItem->orderdate);

    if ($orderItem->later_order_date LATER THEN $time1) {
        $elapsed = "not started"
    }
    else {
        $elapsed =  $elapsedTime->getElapsedTimeOld($time1,$time2);
    }

最好的方法是什么?

【问题讨论】:

    标签: php date datetime timestamp


    【解决方案1】:

    DateTime() 对象是可比较的,这使得这很容易:

    $time1 = new DateTime(); // No need to pass it anything to represent now
    $time2 = new DateTimedate($orderItem->orderdate); 
    
    if ($time2 > $time1) {
        $elapsed = "not started"
    }
    else {
        $elapsed =  $elapsedTime->getElapsedTimeOld($time1,$time2);
    }
    

    【讨论】:

      【解决方案2】:

      您可以使用 strtotime() 函数将格式化日期从 YYYY-mm-dd HH:ii:ss 转换为 unix 时间戳,这只是一个可以与常规比较运算符进行比较的数字:

      if (strtotime($orderItem->later_order_date) > strtotime($time1)) {
          $elapsed = 'not started';
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-06
        • 1970-01-01
        • 1970-01-01
        • 2022-07-07
        相关资源
        最近更新 更多