Java——java.time包使用方法详解

news/2024/11/26 1:22:29/

Java——time包使用方法详解

java.time 包是 Java 8 引入的新日期和时间 API(JSR 310),用于替代旧的 java.util.Date 和 java.util.Calendar 类。它提供了一组全新的类来处理日期、时间、时间间隔、时区等,具有更好的设计和易用性。

1.LocalDate:表示日期(年、月、日)的类。

在这里插入图片描述

  	    LocalDate date = LocalDate.now(); // 获取当前日期LocalDate specificDate = LocalDate.of(1949, 10, 1); // 创建指定日期:1949年10月1日LocalDate parsedDate = LocalDate.parse("2018-09-02"); // 解析字符串为日期对象

在这里插入图片描述

LocalDate常用方法示例:

在这里插入图片描述

  LocalDate date = LocalDate.now(); // 获取当前日期int year = date.getYear(); // 获取年份Month month = date.getMonth(); // 获取月份int dayOfMonth = date.getDayOfMonth(); // 获取月份中的天数DayOfWeek dayOfWeek = date.getDayOfWeek(); // 获取星期几boolean leapYear = date.isLeapYear(); // 判断是否是闰年System.out.println("获取年份:"+year);System.out.println("获取月份:"+month);System.out.println("获取月份中的天数:"+dayOfMonth);System.out.println("获取星期几:"+dayOfWeek);System.out.println("判断是否是闰年:"+leapYear);System.out.println("获取当前日期:"+date);

在这里插入图片描述

2.LocalTime:表示时间(小时、分钟、秒、纳秒)的类。

LocalTime time = LocalTime.now(); // 获取当前时间
LocalTime specificTime = LocalTime.of(8, 30, 45); // 创建指定时间:08:30:45
LocalTime parsedTime = LocalTime.parse("12:30:00"); // 解析字符串为时间对象int hour = time.getHour(); // 获取小时
int minute = time.getMinute(); // 获取分钟
int second = time.getSecond(); // 获取秒
int nano = time.getNano(); // 获取纳秒

3.LocalDateTime:表示日期和时间的类,是 LocalDate 和 LocalTime 的组合。

LocalDateTime dateTime = LocalDateTime.now(); // 获取当前日期和时间
LocalDateTime specificDateTime = LocalDateTime.of(2023, 11, 2, 8, 30, 45); // 创建指定日期和时间
LocalDateTime parsedDateTime = LocalDateTime.parse("2023-11-02T08:30:45"); // 解析字符串为日期时间对象LocalDate datePart = dateTime.toLocalDate(); // 提取日期部分
LocalTime timePart = dateTime.toLocalTime(); // 提取时间部分

4.ZonedDateTime:表示带时区的日期和时间的类。除了日期和时间信息,它还包含时区信息。

ZonedDateTime zonedDateTime = ZonedDateTime.now(); // 获取当前日期和时间(带时区)
ZonedDateTime specificZonedDateTime = ZonedDateTime.of(2023, 11, 2, 8, 30, 45, ZoneId.of("Asia/Shanghai")); // 创建指定日期和时间(带时区)
ZonedDateTime parsedZonedDateTime = ZonedDateTime.parse("2023-11-02T08:30:45+08:00[Asia/Shanghai]"); // 解析字符串为日期时间对象(带时区)ZoneId zone = zonedDateTime.getZone(); // 获取时区

5.Duration:表示时间间隔的类,用于计算两个时间点之间的差异。

Duration duration = Duration.between(startTime, endTime); // 计算两个时间点之间的时间间隔long seconds = duration.getSeconds(); // 获取总秒数
long minutes = duration.toMinutes(); // 获取总分钟数

在这里插入图片描述

6.Period:表示日期间隔的类,用于计算两个日期之间的差异。

Period period = Period.between(startDate, endDate); // 计算两个日期之间的日期间隔int years = period.getYears(); // 获取年数
int months = period.getMonths(); // 获取月数
int days = period.getDays(); // 获取天数

在这里插入图片描述


上述是 java.time 包中一些常用类的简要介绍和使用示例。这些类提供了丰富的功能来处理日期、时间和时间间隔,支持各种操作、格式化和计算需求。


http://www.ppmy.cn/news/1192448.html

相关文章

详解Java经典数据结构——HashMap

Java 的 HashMap 是一个常用的基于哈希表的数据结构,它实现了 Map 接口,可以存储键值对。下面我们进行详细介绍: 基本结构:HashMap 底层是基于哈希表来实现的,每次插入一个键值对时,会先对该键进行 Hash 运…

ElasticSearch搜索技术深入与聚合查询实战

ES分词器详解 基本概念 分词器官方称之为文本分析器,顾名思义,是对文本进行分析处理的一种手段,基本处理逻辑为按照预先制定的分词规则,把原始文档分割成若干更小粒度的词项,粒度大小取决于分词器规则。 分词发生时…

API对接中需要注意到的问题

一、引言 在数字化时代,应用程序接口(API)已经成为不同软件应用程序之间进行数据交互和信息交流的重要桥梁。通过API,开发者可以方便地访问和集成不同平台、系统的数据和功能,以实现更高效、更灵活的业务流程和功能扩…

RT-Thread系统使用常见问题处理记录

1.使用telnet连接系统时发送help指令显示不全的问题。 原因:telnet发送缓存太小。 解决办法:更改agile_telnet软件包里Set agile_telnet tx buffer size的大小。 2.使用Paho MQTT软件包过一段时间报错hard fault on thread: mqtt0 解决办法&#xff1…

ospf单区域

拓扑图 实验背景 你是公司的网络管理员。现在公司的网络中有三台AR路由器,通过以太网实现相互的连通。 在以太网这样的广播式多路访问网络上,可能存在安全隐患,所有你选择采用OSPF区域认证 的方法来避免恶意的路由攻击。 思路命令 一.配置…

网络工程师应知应会:基础知识(2)

一、端口可以分为系统端口、登记端口、客户端使用端口。 (1) 系统端口。该端口的取值范围为[0,1023]. (2) 登记端口。登记端口是为没有熟知端口号的应用程序使用的,端口范围为[1024,49151]。这些端口必须在 IANA 登记以避免重复。 (3) 客户端使用端口。这类端口仅…

gdb调试内核

1、设置内核配置 CONFIG_KGDBy, CONFIG_DEBUG_INFO y, CONFIG_FRAME_POINTERy,CONFIG_STRICT_KERNEL_RWX is not set 屏蔽掉该选型 然后重新给板子烧录内核镜像 2、进入uboot,设置bootargs,添加kgdboc参数 setenv bootargs mem512M consolettyAMA0,…