ホームページ >バックエンド開発 >PHPチュートリアル >親不孝で子孫がいないとはどういう意味ですか? PHP での興味深い日付ロジック処理

親不孝で子孫がいないとはどういう意味ですか? PHP での興味深い日付ロジック処理

WBOY
WBOYオリジナル
2016-07-29 08:48:23942ブラウズ

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


これで大丈夫です。

以上、親不孝とはどういうことなのかという内容も含めて、PHPにおける興味深い日付ロジック処理を紹介しましたので、PHPチュートリアルに興味のある友人の参考になれば幸いです。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。