- java.lang.Object
-
- java.lang.Enum<ChronoUnit>
-
- java.time.temporal.ChronoUnit
-
- 实现的所有接口
-
Serializable
,Comparable<ChronoUnit>
,TemporalUnit
public enum ChronoUnit extends Enum<ChronoUnit> implements TemporalUnit
一组标准的日期时间单位。这组单元提供基于单元的访问来操纵日期,时间或日期时间。 可以通过实施
TemporalUnit
来扩展标准单元集。这些单元适用于多个日历系统。 例如,大多数非ISO日历系统定义年,月和日的单位,只是略有不同的规则。 每个单元的文档解释了它的运作方式。
- 实现要求:
- 这是一个最终的,不可变的和线程安全的枚举。
- 从以下版本开始:
- 1.8
-
-
Enum Constant Summary
Enum Constants Enum Constant 描述 CENTURIES
代表一个世纪概念的单位。DAYS
代表一天概念的单位。DECADES
代表十年概念的单位。ERAS
代表一个时代概念的单位。FOREVER
代表永恒概念的人工单位。HALF_DAYS
代表AM / PM中使用的半天概念的单位。HOURS
表示一小时概念的单位。MICROS
表示微秒概念的单位。MILLENNIA
代表千年概念的单位。MILLIS
表示毫秒概念的单位。MINUTES
表示一分钟概念的单位。MONTHS
代表一个月概念的单位。NANOS
代表纳秒概念的单位,是支持的最小时间单位。SECONDS
表示第二个概念的单位。WEEKS
表示一周概念的单位。YEARS
代表一年概念的单位。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 Duration
getDuration()
获取ISO日历系统中此单元的估计持续时间。boolean
isDateBased()
检查此单位是否为日期单位。boolean
isDurationEstimated()
检查单位的持续时间是否为估计值。boolean
isTimeBased()
检查此单位是否为时间单位。static ChronoUnit
valueOf(String name)
返回具有指定名称的此类型的枚举常量。static ChronoUnit[]
values()
按照声明的顺序返回一个包含此枚举类型常量的数组。-
声明方法的类 java.lang.Enum
clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
-
声明方法的接口 java.time.temporal.TemporalUnit
addTo, between, isSupportedBy, toString
-
-
-
-
Enum Constant Detail
-
NANOS
public static final ChronoUnit NANOS
代表纳秒概念的单位,是支持的最小时间单位。 对于ISO日历系统,它等于第二个单元的1,000,000,000个部分。
-
MICROS
public static final ChronoUnit MICROS
表示微秒概念的单位。 对于ISO日历系统,它等于第二单元的第1,000,000部分。
-
MILLIS
public static final ChronoUnit MILLIS
表示毫秒概念的单位。 对于ISO日历系统,它等于第二单元的第1000部分。
-
SECONDS
public static final ChronoUnit SECONDS
表示第二个概念的单位。 对于ISO日历系统,它等于SI系统中的第二个系统,除了闰秒。
-
MINUTES
public static final ChronoUnit MINUTES
表示一分钟概念的单位。 对于ISO日历系统,它等于60秒。
-
HOURS
public static final ChronoUnit HOURS
表示一小时概念的单位。 对于ISO日历系统,它等于60分钟。
-
HALF_DAYS
public static final ChronoUnit HALF_DAYS
代表AM / PM中使用的半天概念的单位。 对于ISO日历系统,它等于12小时。
-
DAYS
public static final ChronoUnit DAYS
代表一天概念的单位。 对于ISO日历系统,它是从午夜到午夜的标准日。 估计一天的24 Hours
时间为24 Hours
。当与其他日历系统一起使用时,它必须对应于地球上太阳升起和设置所定义的日期。 不要求天数从午夜开始 - 在日历系统之间进行转换时,日期应该在中午相当。
-
WEEKS
public static final ChronoUnit WEEKS
表示一周概念的单位。 对于ISO日历系统,它等于7天。当与其他日历系统一起使用时,它必须对应于整数天。
-
MONTHS
public static final ChronoUnit MONTHS
代表一个月概念的单位。 对于ISO日历系统,月份的长度因月份而异。 估计一个月的持续时间是365.2425 Days
十二分之一。当与其他日历系统一起使用时,它必须对应于整数天。
-
YEARS
public static final ChronoUnit YEARS
代表一年概念的单位。 对于ISO日历系统,它等于12个月。 估计一年的持续时间为365.2425 Days
。当与其他日历系统一起使用时,它必须对应于整数天或月,大致等于地球绕太阳通过的年份。
-
DECADES
public static final ChronoUnit DECADES
代表十年概念的单位。 对于ISO日历系统,它等于10年。当与其他日历系统一起使用时,它必须对应于整数天,并且通常是整数年。
-
CENTURIES
public static final ChronoUnit CENTURIES
代表一个世纪概念的单位。 对于ISO日历系统,它等于100年。当与其他日历系统一起使用时,它必须对应于整数天,并且通常是整数年。
-
MILLENNIA
public static final ChronoUnit MILLENNIA
代表千年概念的单位。 对于ISO日历系统,它等于1000年。当与其他日历系统一起使用时,它必须对应于整数天,并且通常是整数年。
-
ERAS
public static final ChronoUnit ERAS
代表一个时代概念的单位。 ISO日历系统没有时代,因此无法将日期添加到日期或日期时间。 该时代的估计持续时间被人为定义为1,000,000,000 Years
。与其他日历系统一起使用时,对设备没有限制。
-
FOREVER
public static final ChronoUnit FOREVER
-
-
方法详细信息
-
values
public static ChronoUnit[] values()
按照声明的顺序返回一个包含此枚举类型常量的数组。 此方法可用于迭代常量,如下所示:for (ChronoUnit c : ChronoUnit.values()) System.out.println(c);
- 结果
- 包含此枚举类型常量的数组,按声明的顺序排列
-
valueOf
public static ChronoUnit valueOf(String name)
返回具有指定名称的此类型的枚举常量。 该字符串必须与用于声明此类型中的枚举常量的标识符完全匹配。 (不允许使用无关的空白字符。)- 参数
-
name
- 要返回的枚举常量的名称。 - 结果
- 具有指定名称的枚举常量
- 异常
-
IllegalArgumentException
- 如果此枚举类型没有指定名称的常量 -
NullPointerException
- 如果参数为null
-
getDuration
public Duration getDuration()
获取ISO日历系统中此单元的估计持续时间。本课程中的所有单元都有估计的持续时间。 由于夏令时,天数不同,而月份有不同的长度。
- Specified by:
-
getDuration
在界面TemporalUnit
- 结果
- 此单位的估计持续时间,不为空
-
isDurationEstimated
public boolean isDurationEstimated()
检查单位的持续时间是否为估计值。此类中的所有时间单位都被认为是准确的,而此类中的所有日期单位都被认为是估计的。
此定义忽略闰秒,但认为天数因夏令时而异,月份的长度不同。
- Specified by:
-
isDurationEstimated
在界面TemporalUnit
- 结果
- 如果估计持续时间则为true,如果准确则为false
-
isDateBased
public boolean isDateBased()
检查此单位是否为日期单位。从天到日的所有单位都是基于日期的。 基于时间的单位和
FOREVER
返回false。- Specified by:
-
isDateBased
在界面TemporalUnit
- 结果
- 如果是日期单位则为true,如果是时间单位则为false
-
isTimeBased
public boolean isTimeBased()
检查此单位是否为时间单位。从纳米到半天的所有单位都是基于时间的。 基于日期的单位和
FOREVER
返回false。- Specified by:
-
isTimeBased
在界面TemporalUnit
- 结果
- true if a time unit, false if a date unit
-
-