java8 ChronoUnit日期时间单位枚举类

您所在的位置:网站首页 美剧unit java8 ChronoUnit日期时间单位枚举类

java8 ChronoUnit日期时间单位枚举类

2023-12-08 09:26| 来源: 网络整理| 查看: 265

文章目录 前言一:ChronoUnit类概要二:枚举值及含义三:使用示例

前言

ChronoUnit是java8提供的一个枚举类,里面定义了很多表示日期/时间的枚举值,提供基于单元的访问来操纵日期,时间或日期时间, 通过实现TemporalUnit来扩展标准单元集。

一:ChronoUnit类概要

包目录:java.time.temporal 类型: 枚举类 public enum ChronoUnit implements TemporalUnit

ChronoUnit

一组标准的日期时间单位。 这组单元提供基于单元的访问来操纵日期,时间或日期时间。 可以通过实现TemporalUnit来扩展标准单元集。 这些单元适用于多个日历系统。例如,大多数非ISO日历系统定义年,月和日的单位,只是略有不同的规则。 每个单元的文档说明了它的运作方式。

实现要求: 这是一个最终的、不可变的和线程安全的枚举。

二:枚举值及含义

以下枚举值及描述在下面有更详细的描述,若表格中描述不清楚,可以看最下面的描述

Enum Constant描述CENTURIES代表一个世纪概念的单位。DAYS代表一天概念的单位。DECADES代表十年概念的单位。ERAS代表一个时代概念的单位。FOREVER代表永恒概念的人工单位。HALF_DAYS代表AM / PM中使用的半天概念的单位。HOURS表示一小时概念的单位。MICROS表示微秒概念的单位。MILLENNIA代表千年概念的单位。MILLIS表示毫秒概念的单位。MINUTES表示一分钟概念的单位。MONTHS代表一个月概念的单位。NANOS代表纳秒概念的单位,是支持的最小时间单位。SECONDS秒WEEKS表示一周概念的单位。YEARS代表一年概念的单位。 三:使用示例 LocalDate today = LocalDate.now(); System.out.println("当前时间: " + today); //2021-12-02 //LocalDate plus(long amountToAdd, TemporalUnit unit) LocalDate nextWeek = today.plus(1, ChronoUnit.WEEKS); System.out.println("下周的时间: " + nextWeek); //2021-12-09 LocalDate nextMonth = today.plus(1, ChronoUnit.MONTHS); System.out.println("下个月的时间: " + nextMonth); //2022-01-02 LocalDate nextYear = today.plus(1, ChronoUnit.YEARS); System.out.println("下一年的时间: " + nextYear);//2022-12-02 LocalDate nextDecade = today.plus(1, ChronoUnit.DECADES); System.out.println("10年后的时间: " + nextDecade);//2031-12-02

ChronoUnit 枚举类代码

public enum ChronoUnit implements TemporalUnit { private final String name; private final Duration duration; private ChronoUnit(String name, Duration estimatedDuration) { this.name = name; this.duration = estimatedDuration; } }

CENTURIES

CENTURIES("Centuries", Duration.ofSeconds(31556952L * 100L)) 代表一个世纪概念的单位。 对于ISO日历系统,它等于100年。 当与其他日历系统一起使用时,它必须对应于整数天,并且通常是整数年。

DECADES

DECADES("Decades", Duration.ofSeconds(31556952L * 10L)) 代表十年概念的单位。 对于ISO日历系统,它等于10年。 当与其他日历系统一起使用时,它必须对应于整数天,并且通常是整数年。

ERAS

ERAS("Eras", Duration.ofSeconds(31556952L * 1000_000_000L)) 代表一个时代概念的单位。 ISO日历系统没有时代,因此无法将日期添加到日期或日期时间。 该时代的估计持续时间被人为定义为1,000,000,000 Years 。 与其他日历系统一起使用时,对设备没有限制。

FOREVER

FOREVER("Forever", Duration.ofSeconds(Long.MAX_VALUE, 999_999_999)) 代表永恒概念的人工单位。 这主要与TemporalField一起用于表示无限字段,例如年份或时代。 该单位的估计持续时间被人为定义为Duration支持的最大持续时间。

HALF_DAYS

HALF_DAYS("HalfDays", Duration.ofSeconds(43200)) 代表AM / PM中使用的半天概念的单位。 对于ISO日历系统,它等于12小时。

HOURS

HOURS("Hours", Duration.ofSeconds(3600)) 表示一小时概念的单位。 对于ISO日历系统,它等于60分钟。

MICROS

MICROS("Micros", Duration.ofNanos(1000)) 表示微秒概念的单位。 对于ISO日历系统,它等于秒单位的第1,000,000部分。

MILLENNIA

MILLENNIA("Millennia", Duration.ofSeconds(31556952L * 1000L)) 代表千年概念的单位。 对于ISO日历系统,它等于1000年。 当与其他日历系统一起使用时,它必须对应于整数天,并且通常是整数年。

MILLIS

MILLIS("Millis", Duration.ofNanos(1000_000)) 表示毫秒概念的单位。 对于ISO日历系统,它等于秒单元的第1000部分。

MINUTES

MINUTES("Minutes", Duration.ofSeconds(60)) 表示一分钟概念的单位。 对于ISO日历系统,它等于60秒。

MONTHS

MONTHS("Months", Duration.ofSeconds(31556952L / 12)) 代表一个月概念的单位。 对于ISO日历系统,月份的长度因月份而异。 估计一个月的持续时间是365.2425 Days十二分之一。 当与其他日历系统一起使用时,它必须对应于整数天。

NANOS

NANOS("Nanos", Duration.ofNanos(1)) 代表纳秒概念的单位,是支持的最小时间单位。 对于ISO日历系统,它等于秒单元的1,000,000,000个部分。

SECONDS

SECONDS("Seconds", Duration.ofSeconds(1)) 表示秒概念的单位。 对于ISO日历系统,它等于SI系统中的秒系统,除了闰秒。

WEEKS

WEEKS("Weeks", Duration.ofSeconds(7 * 86400L)) 表示一周概念的单位。 对于ISO日历系统,它等于7天。 当与其他日历系统一起使用时,它必须对应于整数天。

YEARS

YEARS("Years", Duration.ofSeconds(31556952L)) 代表一年概念的单位。 对于ISO日历系统,它等于12个月。 估计一年的持续时间为365.2425 Days 。 当与其他日历系统一起使用时,它必须对应于整数天或月,大致等于地球绕太阳通过的年份。


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3