使用时间戳,检查即将到期

时间:2013-03-05 19:31:41

标签: php

我刚开始使用时间戳,我正试图找出一种方法来确定当前日期是否比数据库中存储的日期少48小时。

我想知道是否有人可以帮我完成这项工作?

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

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

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

我感谢任何建议!

非常感谢提前!

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:0)

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