我在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
答案 0 :(得分:9)
有多种方法可以获取TemporalField
的实例。
首先,枚举ChronoField
实现TemporalField
并包含各种常量。
ChronoField.ALIGNED_WEEK_OF_YEAR;
其次,类IsoFields
和JulianFields
包含静态TemporalField
对象。
IsoFields.QUARTER_OF_YEAR;
JulianFields.JULIAN_DAY;
第三,类WeekFields
包含基于WeekFields创建TemporalField
个对象的静态TemporalField
对象和方法。
WeekFields.WEEK_BASED_YEARS;
WeekFields.SUNDAY_START.weekOfMonth();
答案 1 :(得分:5)
TemporalField的Javadoc说,就在那里:
“最常用的单位在ChronoField中定义。其他字段在IsoFields,WeekFields和JulianFields中提供。字段也可以通过实现此接口由应用程序代码编写。”
从这些字段中选择您想要的内容。