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

または:
$t = time() // Unix 形式の
時刻 $t += 172800; // 48 時間の秒数 - 今から 48 時間後

于 2013-03-05T20:04:01.087 に答える