IsoFieldsクラスを参照してください。このクラスでは、週単位の年と週の曜日を照会できます。専用フォーマッタISO_WEEK_DATEもあります。
DayOfWeek
enumは、月曜日から日曜日までの曜日の数を示します。 LocalDate::getDayOfWeek
、次にDayOfWeek::getValue
に電話してください。
LocalDate ld = LocalDate.now(ZoneId.of("America/Montreal")) ;
2016年12月7日
int weekOfWeekBasedYear = ld.get(IsoFields.WEEK_OF_WEEK_BASED_YEAR) ;
int yearOfWeekBasedYear = ld.get(IsoFields.WEEK_BASED_YEAR) ;
int dayOfWeek = ld.getDayOfWeek().getValue();
標準ISO 8601 week date formatsに文字列を構築するために、これらの部品を使用してください。
String yearWeek = yearOfWeekBasedYear + "-W" + String.format("%02d", weekOfWeekBasedYear) ;
2016-W49
String yearWeekDay = yearWeek + "-" + dayOfWeek ;
2016-W49-3
か、事前に定義されたDateTimeFormatter.ISO_WEEK_DATE
は仕事をしましょう。
String ywd = ld.format(DateTimeFormatter.ISO_WEEK_DATE);
2016-W49-3
同じフォーマッタは、このような標準の文字列を解析することができます
。
String input = "2016-W49-3" ;
LocalDate ldParsed = LocalDate.parse(input , DateTimeFormatter.ISO_WEEK_DATE) ;
2016年12月7日
おかげで、私は表現について尋ねられた曜日、 '7'で' 2009-W53-年の週の7 '。全体を考慮すると、これは1日の日付を表します。 –
曜日は 'getDayOfWeek()。getValue()'です。 – JodaStephen
[IdeOne.comのライブコード](http://ideone.com/7r0zeP)を参照してください。 –