0

我是使用时间戳的新手,我试图想出一种方法来确定当前日期是否比存储在数据库中的日期不到 48 小时。

我想知道是否有人可以帮助我完成这个?

这是我尝试过的,我不确定这是否是最好的解决方案:

//future date stored in DB
$timestamp = strtotime($regularFormatDate);

if($timestamp < strtotime("+2 days")){
    //do something
}

我很感激任何建议!

提前谢谢了!

4

2 回答 2

1

你的例子看起来不错。实际上,我更关心您打算如何处理闰年/夏令时。

如果使用 PHP 5.3 或更高版本。除了坚持使用时间戳,我建议(支持夏令时等):

程序

      $datetime1 = date_create('now');
        $datetime2 = date_create('2013-03-07');
        $interval = date_diff($datetime1, $datetime2);
        $days = $interval->format('%R%a');
        if ((int) $days >= 2) {
            echo '2 or more days';
            echo '<br />';
            echo 'Difference: ' . $days . ' days';
        } else {
            echo 'Bearly ' . $days . ' day or less';
        }

目的

        $date1 = new DateTime("2013-03-09");
        $date2 = new DateTime("now");
        $interval = $date1->diff($date2);
        $difference =  $interval->days;
        if($difference >= 2){
            echo $difference;
        }

您可以尝试直接使用mysql:

阅读:https ://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_date-add

mysql> SELECT INTERVAL 1 DAY + '2008-12-31';
    -> '2009-01-01'

Mysql date_add() and datediff() are also good alternatives.

PHP 日期时间差异:http ://www.php.net/manual/en/datetime.diff.php

于 2013-03-05T19:59:42.700 回答
0

OR:
$t = time() // Unix 格式的一天中的时间
$t += 172800; // 48 小时内的秒数 - 从现在开始的 48 小时

于 2013-03-05T20:04:01.087 回答