1

曜日 (1-7) が与えられた場合、その曜日の最後の日付を計算するにはどうすればよいですか?

例:今日は2008 年 11 月 12 日の水曜日で、先週の金曜日の日付を知りたいです。

4

2 に答える 2

4

一般に?暦計算を参照してください。

前の週内のこの狭いケースでは?日数の違いを見つけます (金曜日 = 5、水曜日 = 3)。週の差を見つけます (先週 = -7 日)。日+週でオフセットを見つけたら、そのオフセットをカレンダーの日付に適用します。

于 2008-11-12T19:53:05.757 に答える
1

todayが現在の曜日の場合、次のようなものを使用できます。

days_since_friday = (((today - 1) + 7) - (6 - 1)) % 7

これは、金曜日が曜日番号 6 で表されることを前提としています (つまり、1 は日曜日を表します)。次に、現在の日付から減算days_since_fridayすると、先週の終わりの日付が得られます。

上記の式は、必要以上に複雑です。曜日が日曜日の 0 から始まる場合、次のように単純化されます。

days_since_friday = ((today + 7) - 5) % 7

また

days_since_friday = (today + 2) % 7
于 2008-11-12T19:50:50.050 に答える