I'm trying to get the Week Number of a full LocalDate with the format:
dd.MM.yyy
I haven't found a function in the Java 8 Date API wich returns the Week Number and i have tried to create a algorithm, but it did'nt work.
One small warning. I haven't tested this yet, but looking at the API documentation of WeekFields
and LocalDate.get
, you should do something like:
LocalDate date = ...;
// Or use a specific locale, or configure your own rules
WeekFields weekFields = WeekFields.of(Locale.getDefault());
int weekNumber = date.get(weekFields.weekOfWeekBasedYear());
The answer of Mark Rotteveel is almost right and again an example which kind of confusion potential there is in the class WeekFields
(similar sounding method names, but deviating from intuitive civil usage). The right code requires another field:
LocalDate date = LocalDate.now();
TemporalField woy = WeekFields.of(Locale.getDefault()).weekOfWeekBasedYear();
int weekNumber = date.get(woy);
See also the similar debate on this SO-post, especially the discussion and comments about the answer of @kleopatra.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With