6

現在の週の指定された平日の完全な日付(「月」など)を返す信頼できる方法を探しています。

今日は2012年6月13日水曜日なので、<?php echo date("Y-m-d", strtotime('Mon this week')); ?>結果が出ると予想していまし2012-06-11たが、代わりにphpは今週を来週意味として2012-06-18解釈するかのように戻ります。なぜこの振る舞いをし、私は何をすべきですか?

ありがとう。

-ジェフ

4

3 に答える 3

6

date( 'Y-m-d', strtotime( 'last Monday', strtotime( 'Sunday' ) ) );

これは、次の日曜日の前の月曜日を検索します。

于 2012-06-13T20:02:46.607 に答える
3

ドキュメントによると、php相対日付形式

次にMonday this week、最初にに進み、next Monday次にの相対テキストを処理しますthis week

dayname:現在の日でない限り、この名前の次の日に移動し、それ以降は進みません。つまり、現在の日付が6月11日の場合は、6月11日strtotime('Monday this week')を返しますが、現在の日付が6月13日の場合は、strtotime('Monday this week')6月19日を返します。

于 2012-06-13T20:34:32.583 に答える
0

私はこれがあなたの問題の解決策だと思います:

$monday_date = date("Y-m-d", mktime(0,0,0, date("m"), date("j")-(date("w")+1), date("Y")));
于 2012-06-13T20:02:36.920 に答える