2009-05-07 18 views
12

今年のISO週1で月曜日の日付を調べたいと思います(2009年は2008年12月29日月曜日)。Joda-time:今年のISO週の最初の日1

確かにjoda-timeはこれを処理できますが、私はAPIを理解できません(ちょっと遅れているかもしれません)。

誰でも手助けできますか?ありがとう!

答えて

11

私は、これは動作するはずと信じて:

DateMidnight date = new DateMidnight().withWeekOfWeekyear(1).withDayOfWeek(1); 
+0

おかげで、ブレイク!まさに私が探していたもの。 "withWeekOfWeekYear()"は "withWeekOfWeekyear()"(小文字のy)の綴りにする必要があります。 –

+3

**注:**この回答は、Joda-Timeチームが推奨していないクラスとメソッドを使用しています。 [shaILUによる正解](http://stackoverflow.com/a/22334471/642706)を参照してください。 [リリースノート](http://www.joda.org/joda-time/upgradeto230.html)を引用するには: 'DateMidnight ...このクラスはコンセプトに欠陥があります... Replace ... with LocalDate ... [or] DateTime ... [using] ... withTimeAtStartOfDay()メソッド '。 ([LocalDate](http://www.joda.org/joda-time/apidocs/org/joda/time/LocalDate.html)または[DateTime.withTimeAtStartOfDay()](http://www.joda.org/ joda-time/apidocs/org/joda/time/DateTime.html#withTimeAtStartOfDay())) –

18

他の回答で述べたDateMidnight APIが廃止され、以下の使用:

DateTime date = new DateTime().dayOfYear().withMinimumValue().withTimeAtStartOfDay(); 
関連する問題