JDK8新增的时间

设计更合理,功能更丰富,使用更方便,都是不可变的对象,修改后会返回新的事件对象不会丢失最开始的时间,线程安全,能精确到毫秒、纳秒。

这三个类都有一个静态方法now():获取系统当前时间对应的该对象:

1. LocalDate:代表本地日期

加就是plusYears、plusMonths。。。以此类推

减就是minusYears、minusMonths。。。以此类推

LocalDate ld = LocalDate.of(year,month,dayOfMonth); 获取指定日期的LocalDate对象

判断2个日期对象是否相等,在前还是在后:equals()  isBefore()  isAfter()

2. LocalTime:代表本地时间

也有比较相等和在前在后,用法相同

 

3. LocalDateTime:代表本地日期、时间

可以把LocalDate转换成上面两个对象

LocalDate ld = ldt.toLocalDate();

LocalTime lt = ldt.toLocalTime();

4.ZoneId:获取时区ID

import java.time.Clock;
import java.time.ZoneId;
import java.time.ZonedDateTime;public class Test {public static void main(String[] args) {//世界标准时间(UTC)中国标准时间:+8ZoneId z = ZoneId.systemDefault();  //获取系统默认的时区System.out.println(z.getId());//获取Java支持的全部时区IDSystem.out.println(ZoneId.getAvailableZoneIds());//ZonedDateTimeZoneId zoneId1 = ZoneId.of("America/New_York");ZonedDateTime now = ZonedDateTime.now(zoneId1);System.out.println(now);//获得世界标准时间System.out.println(ZonedDateTime.now(Clock.systemUTC())); //如果不传参数就是系统默认时间}
}

5.Instant 时间线上的某个时刻/时间戳

通过获取Instant的对象可以拿到此刻的时间,该时间由两部分组成,总秒数和纳秒数

Instant对象的作用:性能分析或记录操作时间表

6.DateTimeFormatter:格式化器,用于时间的格式化和解析,线程安全

格式化时间还有另一种方法:可以用   LocalDateTime对象.format(格式化器)

//解析时间:解析时间一般使用LocalDateTime提供的解析方法来解析String dateStr = "2029年12月12日 12:12:11";System.out.println(LocalDateTime.parse(dateStr, df)); //第一个参数String 第二个参数解析器

7.Period(一段时期)

可以用于计算来年各个LocalDate对象相差的年数、月数、天数

import java.time.LocalDate;
import java.time.Period;public class Test2 {public static void main(String[] args) {LocalDate a1 = LocalDate.of(2029,8,1);LocalDate a2 = LocalDate.of(2023,8,9);//1.创建Period对象,封装两个日期对象Period p =Period.between(a1,a2);System.out.println(p.getYears()); // -5System.out.println(p.getMonths()); // -11System.out.println(p.getDays()); // -23}
}

8、Duration(持续时间)

可以用于计算两个时间对象相差的天数、小时数、分数、秒数

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/472565.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

智能传感器阅读笔记-智能传感器的发展历程、发展趋势及方向

智能传感器的发展历程 第一代智能传感器 第一代智能传感器是数字式传感器,指改造A/D转换模块,并采用数字技术进行信号处理,使输出信号为数字信号(或数字编码)的传感器,主要由放大器、A/D转换模块、微处理…

docker (四)-docker网络

默认网络 docker会自动创建三个网络,bridge,host,none bridge桥接网络 如果不指定,新创建的容器默认将连接到bridge网络。 默认情况下,使用bridge网络,宿主机可以ping通容器ip,容器中也能ping通宿主机。 容器之间只…

2024-02-16 AIGC-数字人-阿里巴巴国际站-指定的数字人平台

摘要: 2024-02-16 AIGC-数字人-阿里巴巴国际站-指定的数字人平台 阿里巴巴国际站-指定的数字人平台 全部服务 阿里巴巴 外贸服务市场 (alibaba.com) 一. 北京网聚电商AI数字人直播 北京网聚电商AI数字人直播 – 阿里巴巴外贸服务市场 – 外贸服务平台 (alibaba.com) 二. 普特…

用tensorflow模仿BP神经网络执行过程

文章目录 用矩阵运算仿真BP神经网络y relu ( (X․W ) b )y sigmoid ( (X․W ) b ) 以随机数产生Weight(W)与bais(b)placeholder 建立layer函数改进layer函数,使其能返回w和b github地址https://github.com/fz861062923/TensorFlow 用矩阵运算仿真BP神经网络 impo…

定时器外部时钟

一、相较于内部时钟中断改动: 1.Timer.c RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); //开启GPIOA的时钟/*GPIO初始化*/GPIO_InitTypeDef GPIO_InitStructure;GPIO_InitStructure.GPIO_Mode GPIO_Mode_IPU;GPIO_InitStructure.GPIO_Pin GPIO_Pin_…

Day-01-02

项目框架搭建 1. 创建父工程 父工程:xuecheng-plus-parent 父工程中没有代码,不用去依赖其它的包,它的作用是限定其它子工程依赖包的版本号,在dependencyManagement 中去编辑即可。 在父工程中只需保留pom.xml文件以及自动生成…

AI实景无人直播 矩阵系统

矩阵系统:重塑未来的组织与沟通在不断变化的世界中,我们需要的不仅是适应变化的能力,更需要预见未来的视角。矩阵系统,正是一个能够助力我们应对复杂环境、实现高效组织和沟通的工具。一、矩阵系统的核心价值矩阵系统,…

【JVM篇】ThreadLocal中为什么要使用弱引用

文章目录 🍔ThreadLocal中为什么要使用弱引用⭐总结 🍔ThreadLocal中为什么要使用弱引用 ThreadLocal可以在线程中存放线程的本地变量,保证数据的线程安全 ThreadLocal是这样子保存对象的: 在每个线程中,存放了一个…

Python一级考试笔记

Python一级考试笔记【源源老师】 前置知识:(了解即可) Python常见的几种编程环境:IDLE(自带)、Visual Studio Code、Jupyter、pyCharm; python版本:python3 和 python2(…

SSM框架,spring-aop的学习

代理模式 二十三种设计模式中的一种,属于结构型模式。它的作用就是通过提供一个代理类,让我们在调用目标方法的时候,不再是直接对目标方法进行调用,而是通过代理类间接调用。让不属于目标方法核心逻辑的代码从目标方法中剥离出来…

【开源】基于JAVA+Vue+SpringBoot的班级考勤管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统基础支持模块2.2 班级学生教师支持模块2.3 考勤签到管理2.4 学生请假管理 三、系统设计3.1 功能设计3.1.1 系统基础支持模块3.1.2 班级学生教师档案模块3.1.3 考勤签到管理模块3.1.4 学生请假管理模块 3.2 数据库设…

如何解决缓存和数据库的数据不一致问题

数据不一致问题是操作数据库和操作缓存值的过程中,其中一个操作失败的情况。实际上,即使这两个操作第一次执行时都没有失败,当有大量并发请求时,应用还是有可能读到不一致的数据。 如何更新缓存 更新缓存的步骤就两步&#xff0…