获取LocalDate的周数(Java 8)
我正在尝试使用以下格式获取完整LocalDate的周数:
dd.MM.yyy
我还没有在Java 8 Date API中找到一个返回Week Number的函数,我试图创建一个算法,但它没有用。
一个小警告。 我还没有测试过,但是看看WeekFields
和LocalDate.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答案的讨论和评论。