Java 8 日期和时间时间字段

Java 8 Date and Time Temporal Field

我浏览了 Java 8 新的日期和时间 API,但我无法继续前进,我在网络上找不到任何好的资源,我希望你对这个问题感到满意。

我的简单源代码是

final LocalDate date = LocalDate.now();
date.get(TemporalField field)

我得到了源代码,我明白了。

public int get(TemporalField field)
  Gets the value of the specified field from this date as an int.

我的问题是如何获得 TemporalField,或者哪种方法最容易使此代码正常工作..

final int value = date.get(????);

感谢 JB Nizet

date.get(java.time.temporal.ChronoField.ALIGNED_DAY_OF_WEEK_IN_MONTH);

API。

http://docs.oracle.com/javase/8/docs/api/java/time/temporal/ChronoField.html

TemporalField 的 Javadoc 说,就在那里:

"The most commonly used units are defined in ChronoField. Further fields are supplied in IsoFields, WeekFields and JulianFields. Fields can also be written by application code by implementing this interface."

选择你想从这些领域中得到什么。

有多种方法可以获取 TemporalField.

的实例

首先,枚举 ChronoField 实现 TemporalField 并包含各种常量。

ChronoField.ALIGNED_WEEK_OF_YEAR;

其次,classes IsoFields and JulianFields 包含静态 TemporalField 对象。

IsoFields.QUARTER_OF_YEAR;
JulianFields.JULIAN_DAY;

第三,class WeekFields 包含静态 TemporalField 对象和基于 WeekFields 创建 TemporalField 对象的方法。

WeekFields.WEEK_BASED_YEARS;
WeekFields.SUNDAY_START.weekOfMonth();