0

データベースから取得した値が過去30日間のものであるかどうかをphpで確認する必要があります。

値の形式は次のとおりです。

2012-03-19 05:00:32

これはどのように行うことができますか?

4

3 に答える 3

2

strtotimeを使用して、UNIXタイムスタンプに変換できます。

$db_date = "2012-03-19 05:00:32";
if (time() - strtotime($db_date) <= 30 * 86400) {
  //...
}
于 2012-06-04T03:29:02.013 に答える
1
$date = '2012-03-19 05:00:32';
if (strtotime($date) >= strtotime('-30 days')) {
    // do something
}

strtotime()リファレンスを参照してください。

于 2012-06-04T03:44:13.560 に答える
0

PHPでそれを行うこともできますが、それは、日付/時刻システムを往復して、その文字列を処理して日付値に戻すことを意味します。

$within_30 = ((strtotime('2012-03-19 05:00:32') + 30*86400) > time());

MySQLを使用していると仮定すると、クエリで直接実行でき、変換にかかる時間を節約できます。

SELECT ((yourtimefield + INTERVAL 30 DAY) > now()) AS within_30 ...
于 2012-06-04T03:29:35.953 に答える