获取LocalDate的周数(Java 8)

我正在尝试使用以下格式获取完整LocalDate的周数:

dd.MM.yyy 

我还没有在Java 8 Date API中找到一个返回Week Number的函数,我试图创建一个算法,但它没有用。

一个小警告。 我还没有测试过,但是看看WeekFieldsLocalDate.get的API文档,你应该做类似的事情:

 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); 

另见关于这篇SOpost的类似辩论,特别是有关@kleopatra答案的讨论和评论。