Pom*_*ica 3 java java-8 java-time
我的问题是从 Temporal 接口中找到一个有用的方法。具体来说,我想从一个实现 Temporal 接口的对象中获取年份。接口的所有方法都只是从对象中添加或删除,但是,我只想获取时间本身的年份。
接口Temporal继承了TemporalAccessor::get方法,因此例如您可以这样做:
Temporal t = LocalDate.now();
System.out.println(t.get(ChronoField.YEAR));
Run Code Online (Sandbox Code Playgroud)
输出:
2018
Run Code Online (Sandbox Code Playgroud)
编辑
正如@Ole VV 指出的那样,使用以下方法可以很好地验证Temporal实现是否支持所需的字段Temporal::isSupported:
if(t.isSupported(ChronoField.YEAR)){
// ...
}
Run Code Online (Sandbox Code Playgroud)
Temporal如果实现不支持所需的字段,这将防止出现异常。例如,Instant是一个Temporal不支持年份的实现。
| 归档时间: |
|
| 查看次数: |
1572 次 |
| 最近记录: |