php_PHP チュートリアルでの興味深い日付ロジック処理

WBOY
リリース: 2016-07-21 15:19:42
オリジナル
921 人が閲覧しました

今日は非常に小さな問題に対処しました。
月曜日から日曜日までは、先週の月曜日から先週の日曜日までのデータしか表示できないような需要があります。
ここでは、日付フィールドに基づいてデータベースから直接範囲をクエリできます。
ただし、開始日と終了日を生成するには PHP が必要です。

最初はこのように直接対応していました。

コードをコピーします コードは次のとおりです:

$start_date = date('Y-m-d' , strtotime("-2 week monday"));
$end_date = date('Y-m-d' , strtotime( "$start_date + 6 day"));

日付が 2011-07-19 の場合、$start_date= 2011-07-11 であれば、この方法で問題ありません。
日付が 2011-07-18 の場合、$start_date は 2011-07-04 と等しくなります。これは先週まだ生きています。

そこでメソッドを変更しました
コードをコピーします コードは次のとおりです:

$getWeekDay = date("w");
$startDay = date("Y-m-d", mktime(0, 0) , 0, 日付 ("m"), date("d") - $getWeekDay + 1 - 7, date("Y")));
$endDay = date("Y-m-d", strtotime("+6 日 $) startDay")) ;

日付が 2011-07-19, $start_date= 2011-07-11 であれば、予想通りこの処理は問題ありません。
日付が 2011-07-24 の場合、$start_date は 2011-07-11 であると予想されますが、実際の戻り値は 2011-07-18 です。

最後の手段として、メソッドを変更しました
コードをコピーします コードは次のとおりです:

$getWeekDay = date("N");
$startDay = date("Y-m-d", mktime) (0, 0, 0, date("m"), date("d") - $getWeekDay + 1 - 7, date("Y")));
$endDay = date("Y-m-d", strtotime(") +6 日 $startDay "));

これで大丈夫です。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/325208.html技術記事今日は非常に小さな問題に対処しました。 需要は、月曜日から日曜日まで、先週の月曜日から先週の日曜日までのデータのみが表示されるようなものです。 ここでは、日付フィールドに基づいてデータベースから直接範囲をクエリします...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート