Java 中的日期时间字段是什么?


时间字段是日期时间的字段,例如一年中的月份或一分钟中的小时。这些字段由 TemporalField 接口表示,ChronoField 类实现了此接口。

以下是 ChronoField 类支持的关于日期的各种时间字段的列表:

字段描述
ALIGNED_DAY_OF_WEEK_IN_MONTH
此字段表示一个月中的星期几。
ALIGNED_DAY_OF_WEEK_IN_YEAR
此字段表示一年中对齐的星期几。
ALIGNED_WEEK_OF_MONTH
此字段表示一个月中对齐的星期。
ALIGNED_WEEK_OF_YEAR
此字段表示一年中对齐的星期。
DAY_OF_MONTH
此字段表示一个月中的某一天。
DAY_OF_WEEK
此字段表示一周中的某一天。
DAY_OF_YEAR
此字段表示一年中的某一天。
EPOCH_DAY
此字段表示一年的纪元日。
ERA
此字段表示年的纪元。
YEAR
此字段表示年份。
YEAR_OF_ERA
此字段表示纪元的年份。

LocalDate 和 LocaldateTime 类的 get() 或 getLong() 方法接受时间字段作为参数,并获取当前对象中给定字段的值。

示例

实时演示

import java.time.LocalDate;
import java.time.temporal.ChronoField;
public class Demo {
   public static void main(String args[]) {  
      //Instantiating the LocalDate class
      LocalDate lDate = LocalDate.now();
      int field = lDate.get(ChronoField.DAY_OF_MONTH);
      System.out.println("Day of the month: "+field);
      field = lDate.get(ChronoField.DAY_OF_WEEK);
      System.out.println("Day of the month: "+field);
      field = lDate.get(ChronoField.DAY_OF_YEAR);
      System.out.println("Day of the month: "+field);
      long epoch = lDate.getLong(ChronoField.EPOCH_DAY);
      System.out.println("Day of the month: "+epoch);
      field = lDate.get(ChronoField.ALIGNED_DAY_OF_WEEK_IN_MONTH);
      System.out.println("Week in the month: "+field);
      field = lDate.get(ChronoField.ALIGNED_DAY_OF_WEEK_IN_YEAR);
      System.out.println("Day of the week in an year: "+field);
      field = lDate.get(ChronoField.ERA);
      System.out.println("Era: "+field);
   }
}

输出

Day of the month: 11
Day of the month: 3
Day of the month: 316
Day of the month: 18577
Week in the month: 4
Day of the week in an year: 1
Era: 1

示例

实时演示

import java.time.DayOfWeek;
import java.time.LocalTime;
import java.time.Month;
import java.time.Year;
import java.time.temporal.ChronoField;
public class Demo {
   public static void main(String args[]) {  
      //Instantiating the LocalDateTime class
      LocalTime lTime = LocalTime.now();
      System.out.println(lTime);  
      int field = Year.of(2019).get(ChronoField.YEAR);
      System.out.println("Year: "+field);  
      field = Month.of(8).get(ChronoField.MONTH_OF_YEAR);
      System.out.println("Year: "+field);  
      field = DayOfWeek.of(3).get(ChronoField.DAY_OF_WEEK);
      System.out.println("Year: "+field);  
   }
}

输出

20:01:43.171
Year: 2019
Year: 8
Year: 3

更新于: 2021年2月6日

3K+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告