1
$day = date('l', strtotime('07/25/2010'));
echo "$day ";
echo date("m/d/Y", strtotime("first $day"));

これは印刷されますSunday 07/11/2010

$day = date('l', strtotime('07/25/2010'));
echo "$day ";
echo date("m/d/Y", strtotime("last $day"));

これは印刷されますSunday 07/04/2010

何が起きてる?それぞれ2010年7月4日と2010年7月25日ではないでしょうか。

4

2 に答える 2

1

私は何かを言うことができます、日時lastを読んでください-相対的な形式

「'last'dayname」は、現在の日の最後のdaynameを取ります。(例:「2008年7月の最終水曜日」は「2008-06-25」を意味します。「2008年7月」は最初に現在の日付を「2008-07-01」に設定し、次に「最終水曜日」は前の水曜日である「2008」に移動します。 -06-25 ")。

私はfirstそれがあなたに次を与えるのと似ていると思いますdayname

于 2010-07-06T17:54:31.183 に答える
1

答えは正しいと思います。なぜなら、それらは指定された日付に関連しているからです(指定されていない場合はデフォルトで今日になります)。

PHPドキュメントに基づく:

この関数は、米国英語の日付形式を含む文字列が指定されることを想定しており、現在指定されているタイムスタンプを基準にして、その形式をUnixタイムスタンプ(1970年1月1日00:00:00 UTCからの秒数)に解析しようとします。または、現在が指定されていない場合は現在の時刻。

つまり、FIRST SUNDAYは実際には11日であり、LASTSUNDAYは実際には4日でした。あなたの質問の言い回しに基づいて、あなたはその月の第1日曜日とその月の最後の日曜日を探しているようです。この関数は、今日の後の最初の日曜日と、今日の前の最後の日曜日を返します。

于 2010-07-06T18:00:09.420 に答える