私は完全なLocalDateの週番号を次の形式で取得しようとしています:
dd.MM.yyy
Java 8 Date API wichがWeek Numberを返し、アルゴリズムを作成しようとしましたが、機能しませんでした。
1つの小さな警告。これはまだテストしていませんが、 WeekFields
および LocalDate.get
、次のようにする必要があります。
LocalDate date = ...;
// Or use a specific locale, or configure your own rules
WeekFields weekFields = WeekFields.of(Locale.getDefault());
int weekNumber = date.get(weekFields.weekOfWeekBasedYear());
Mark Rotteveelの答えはほぼ間違いなく、クラスWeekFields
に混乱の可能性があるような例です(サウンドメソッドの名前は似ていますが、直感的な民生用の使用法から外れています)。適切なコードには別のフィールドが必要です。
LocalDate date = LocalDate.now();
TemporalField woy = WeekFields.of(Locale.getDefault()).weekOfWeekBasedYear();
int weekNumber = date.get(woy);
この SO-post に関する同様の議論、特に@kleopatraの答えに関する議論とコメントも参照してください。