2012-02-14 9 views

答えて

3

DateTime now = new DateTime(DateTimeZone.forID("UTC")); 
DateTime saturday = now.withDayOfWeek(6); 
if (saturday.isAfter(now)) { 
    saturday = saturday .minusWeeks(1); 
} 
System.out.println(saturday); 
+0

6ここは土曜日ですか? JodaライブラリはCalendar.SATURDAYのようにEnum/Constantとしてそれを公開しますか?また、1週間を引いたものが前年に連れて行くので、この年の最初の週にも働きます。 – RandomQuestion

+0

はい、それは前年に連れて行くでしょう。私は6日が土曜日かどうか分からなかったが、それはそうだ。 – Bozho

2

同じ土曜日を参照している限り、世界中の同じ日付になります。
用語「前土曜日」しかし曖昧であるかもしれない:

私は、土曜日に日本とその1時(午前)にいる場合は、私に「前土曜日」のためにわずか1時間前に始まりました。
イギリスの誰かのために、まだ金曜日であり、彼の「最後の土曜日」は約1週間前に始まり(そして終了した)。

この場合、別の日付で「最後の土曜日」を参照することがありますが、実際には異なる日を参照しています。 (私はあなたが使用することをお勧め)joda-timeを使用して

+2

しかし、 "最後" 土曜日は異なる場合があります。 1つのタイムゾーンではすでにそれは土曜日ですが、他の人はまだ金曜日です - その場合は最後の土曜日は1週間離れています(最後の定義に応じて - それ以外の場合は土曜日/日曜日)。 – Voo

+1

@Vooあなたがコメントを投稿している間に: – yurib

関連する問題