判断是否是日期格式_Java8新特性之新世间与日期
接口中的默认方法与静态方法
Java 8中允许接口中包含具有具体实现的方法,该方法称为“默认方法”,默认方法使用 default 关键字修饰。
default String getName(){ return "呵呵呵";}
接口默认方法的”类优先”原则
若一个接口中定义了一个默认方法,而另外一个父类或接口又定义了一个同名的方法时。选择父类中的方法。如果一个父类提供了具体的实现,默认使用父类的方法
接口冲突。如果一个父接口提供一个默认方法,而另一个接口也提供了一个具有相同名称和参数列表的方法(不管方是否是默认方法),那么必须覆盖该方法来解决冲突(选择采取那个接口的方法实现)
新时间日期
使用 LocalDate、LocalTime、LocalDateTime
LocalDate、LocalTime、LocalDateTime 类的实例是不可变的对象(线程安全),分别表示使用 ISO-8601日历系统的日期、时间、日期和时间。
Instant 时间戳
用于“时间戳”的运算。它是以Unix元年(传统的设定为UTC时区1970年1月1日午夜时分)开始所经历的描述进行运算
Instant ins = Instant.now(); //默认使用 UTC 时区System.out.println(ins);//将时间偏移8小时OffsetDateTime odt = ins.atOffset(ZoneOffset.ofHours(8));System.out.println(odt);//将时间转为纳秒System.out.println(ins.getNano());//偏移5秒Instant ins2 = Instant.ofEpochSecond(5);System.out.println(ins2);
输出样式
Duration 和 Period
Duration:用于计算两个“时间”间隔
Instant ins1 = Instant.now();Instant ins2 = Instant.now();System.out.println("所耗费时间为:" + Duration.between(ins1, ins2));
Period:用于计算两个“日期”间隔
LocalDate ld1 = LocalDate.now();LocalDate ld2 = LocalDate.of(2011, 1, 1);Period pe = Period.between(ld2, ld1);
日期的操纵(时间校正器)
TemporalAdjuster (接口): 时间校正器。有时我们可能需要获取例如:将日期调整到“下个周日”等操作。
TemporalAdjusters : 该类通过静态方法提供了大量的常用 TemporalAdjuster 的实现。
代码实例:
LocalDateTime ldt = LocalDateTime.now(); System.out.println(ldt); //将日期设为10 LocalDateTime ldt2 = ldt.withDayOfMonth(10); System.out.println(ldt2); //下一个周末 LocalDateTime ldt3 = ldt.with(TemporalAdjusters.next(DayOfWeek.SUNDAY)); System.out.println(ldt3);
解析与格式化
java.time.format.DateTimeFormatter 类
//使用系统的样式格式// DateTimeFormatter dtf = DateTimeFormatter.ISO_LOCAL_DATE; //自定义事件输出格式 DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年MM月dd日 HH:mm:ss E"); LocalDateTime ldt = LocalDateTime.now(); String strDate = ldt.format(dtf); System.out.println(strDate); //将字符串转解析为时间 LocalDateTime newLdt = LocalDateTime.parse(strDate, dtf); System.out.println(newLdt);
时区的处理
Java8 中加入了对时区的支持,带时区的时间为分别为:
ZonedDate、ZonedTime、ZonedDateTime
其中每个时区都对应着 ID,地区ID都为 “{区域}/{城市}”的格式例如 :Asia/Shanghai 等
ZoneId:该类中包含了所有的时区信息 ; getAvailableZoneIds() : 可以获取所有时区时区信息 ; of(id) : 用指定的时区信息获取 ZoneId 对象
代码实例
//获取上海时区的时间LocalDateTime ldt = LocalDateTime.now(ZoneId.of("Asia/Shanghai"));System.out.println(ldt);//返回带时区信息的时间ZonedDateTime zdt = ZonedDateTime.now(ZoneId.of("US/Pacific"));System.out.println(zdt);//获取所有的时区Set set = ZoneId.getAvailableZoneIds();
与传统日期处理的转换
重复注解与类型注解
Java 8对注解处理提供了两点改进:可重复的注解及可用于类型的注解。
判断是否是日期格式_Java8新特性之新世间与日期相关推荐
- Jdk8新特性一:jdk8新特性之default关键字、日期类、Base64类、Optional
Jdk8新特性一:jdk8新特性之default关键字.日期类.Base64类.Optional 文章目录 Jdk8新特性一:jdk8新特性之default关键字.日期类.Base64类.Option ...
- Java8新特性之新时间API
Java8新特性之新时间API 一.新时间API 1.1 之前时间API存在问题:线程安全问题.设计混乱 1.2 本地化日期时间API:LoaclDate.LocalTime.LocalDateTim ...
- ES7新特性01-ES7新特性
ES7新特性01-ES7新特性 文章目录 ES7新特性01-ES7新特性 includes **(幂运算) <!DOCTYPE html> <html lang="en&q ...
- C++11新特性之新类型与初始化
C++11新特性之新类型与初始化 snoone | 2016-06-23 11:57 浏览量(148) 评论(0) 推荐(0) 数据 这是C++11新特性介绍的第一部分,比较简单易懂, ...
- linux下软件发布,Linux Kernel 5.12发布下载,附新特性及新功能介绍
Linus Torvalds在Linux内核邮件列表中宣布正式发布Linux Kernel 5.12版本,已提供linux-5.12.tar.xz/tar.gz下载,以下为你介绍该版本的更改.新特性及 ...
- ES10新特性01-ES10新特性
ES10新特性01-ES10新特性 文章目录 ES10新特性01-ES10新特性 一.Object.fromEntries 二.字符串的扩展方法-trimStart 与 trimEnd 三.数组方法扩 ...
- java instant获取微秒转成日期格式_Java8新特性时间日期库DateTime API及示例
点击上方蓝字关注「程序新视界」 Java8新特性的功能已经更新了不少篇幅了,今天重点讲解时间日期库中DateTime相关处理.同样的,如果你现在依旧在项目中使用传统Date.Calendar和Simp ...
- java新的日期_java8你应该了解的新特性(新时间与日期API)
java8你应该了解的新特性(新时间与日期API) java8,你应该了解的新特性(新时间与日期API) 1.使用 LocalDate .LocalTime .LocalDateTime LocalD ...
- JDK8新特性(五):JDK8时间日期API
本文目录: 前言 1.旧版日期时间API存在的问题 2.新日期时间 API 介绍 3.用法介绍 1.JDK8 日期和时间类 2.JDK8 日期时间格式化与解析 3.JDK8 Instant 类 4.J ...
- JDK8新特性:新日期时间API全面学习
旧版jdk对时间和日期的设计非常差 1.设计不合理 在java.util和Java.sql 包中都有日期类,java.util.Data同时包含日期和时间 而Java.sql.Date仅仅包含日期 此 ...
最新文章
- 小小flash动画_flash宣传动画视频能给公司品牌传播带来什么
- python socket代码_python入门之socket代码练习
- linux如何get请求urlencode,如何为curl命令urlencode数据?
- 基于前后端分离实现阿里云对象存储小案例
- 机器学习-特征抽取02
- ubuntu下安装ipm包
- [Java] 蓝桥杯ALGO-100 算法训练 整除问题
- Typora 官网被Q了?(文中附下载地址)
- 病毒的分类和命名规则
- 一文详解 Android热修复实现原理
- 学习笔记14--环境感知传感器技术之毫米波雷达
- php: 远程操作浏览器cookie存储入门
- cufflinks suit
- java 413错误,413错误——线上bug历险记
- 利用frp 进行远程桌面控制
- 【drawio笔记】将图表导出为更高分辨率的 PNG 图像
- spring源码框架
- 多图详解:如何不停服分库分表
- 程序员的算法趣题Q56: 鬼脚图中的横线(思路2的Python题解)
- android立体3D效果_3D全息投影和平面投影有什么区别_广州全息投影