先週の土曜日に日付を計算します。例えば、今日のプログラムを実行すると、2月11日の日付が返されます。指定されたタイムゾーンで最後または前の土曜日の日付を取得する方法
タイムゾーンは、この計算に違いがありますか?
先週の土曜日に日付を計算します。例えば、今日のプログラムを実行すると、2月11日の日付が返されます。指定されたタイムゾーンで最後または前の土曜日の日付を取得する方法
タイムゾーンは、この計算に違いがありますか?
:
DateTime now = new DateTime(DateTimeZone.forID("UTC"));
DateTime saturday = now.withDayOfWeek(6);
if (saturday.isAfter(now)) {
saturday = saturday .minusWeeks(1);
}
System.out.println(saturday);
同じ土曜日を参照している限り、世界中の同じ日付になります。
用語「前土曜日」しかし曖昧であるかもしれない:
私は、土曜日に日本とその1時(午前)にいる場合は、私に「前土曜日」のためにわずか1時間前に始まりました。
イギリスの誰かのために、まだ金曜日であり、彼の「最後の土曜日」は約1週間前に始まり(そして終了した)。
この場合、別の日付で「最後の土曜日」を参照することがありますが、実際には異なる日を参照しています。 (私はあなたが使用することをお勧め)joda-timeを使用して
6ここは土曜日ですか? JodaライブラリはCalendar.SATURDAYのようにEnum/Constantとしてそれを公開しますか?また、1週間を引いたものが前年に連れて行くので、この年の最初の週にも働きます。 – RandomQuestion
はい、それは前年に連れて行くでしょう。私は6日が土曜日かどうか分からなかったが、それはそうだ。 – Bozho