Date、Canlender、SimpleDateFormat类在新的Time包面前几乎没有优势

日期LocalDate,时间LocalTime,日期时间LocalDateTime。

时区ZoneId,时间点Instant,时间单位ChronoUnit,格式化DateTimeFormatter

LocalDate

当前日期

    LocalDate localDate = LocalDate.now();

指定日期

    // (方式1)
LocalDate localDate1 = LocalDate.of(2017, 07, 20);
// (方式2)
LocalDate localDate2 = LocalDate.parse("2017-07-25");

日期加/减 多少个时间单位

    // 加1个月(方式1)
LocalDate localDate = localDate.plus(1, ChronoUnit.MONTHS);
// 加1天(方式2)
LocalDate localDate = localDate.plusDays(1);

解析日期

    int dayOfMonth = localDate.getDayOfMonth();

是否闰年

    boolean b = localDate.isLeapYear();

是否是一个日期之前/之后

    boolean b = localDate1.isBefore(localDate2);
boolean b = localDate1.isAfter(localDate2);

两个日期相差多少个时间单位

    // 相差多少天
long diff = ChronoUnit.DAYS.between(localDate1, localDate2);
// 相差多少秒
long diff = ChronoUnit.SECONDS.between(localDate1, localDate2);

格式化

    DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String s = dateTimeFormatter.format(localDate);

两个日期是否相等

    boolean b = localDate1.equals(localDate2);

LocalTime

大部分的API与LocalDate同理,区别之处在于

1、无法判断是否闰年

2、LocalDate对象toString()返回的是“2017-11-09”,LocalTime对象toString()返回的是“11:16:50.144”(如果毫秒数为0,则最后一段数字不显示),如果想要返回HH:mm:ss格式,需要格式化。

LocalDateTime

大部分的API与LocalDate同理,区别之处在于

1、无法直接判断是否闰年,需要先转化为LocalDate

boolean b = localDateTime.toLocalDate().isLeapYear();

2、LocalDateTime对象toString()返回的是“2017-11-09T11:16:50.144”,如果想要返回HH:mm:ss格式,需要格式化。

处理遗留代码中的java.util.Date对象

先将Date转化为Instant对象,然后根据需要用LocalDate、LocalTime、LocalDateTime各自的from工厂方法生成对象

    // 遗留代码
Date birthday = user.getBirthday();
Date orderTime = order.getOrderTime();
// 转换
LocalDate birthdayEx = LocalDate.from(birthday.toInstant());
LocalDateTime orderTimeEx = LocalDateTime.from(orderTime.toInstant());

处理遗留代码中的java.util.Calendar对象

与java.util.Date对象的转化同理,Calendar对象也有toInstant方法。

Java 8的Time包常用API的更多相关文章

  1. Java基础第四天--常用API

    常用API 基本类型包装类概述 将基本数据类型封装成对象的好处可以在对象中定义更多的功能方法操作该数据 常用的操作之一:用于基本数据类型与字符串之间的转换 基本数据类型 包装类 byte Byte s ...

  2. java基础(6)常用API

    1 Object类 `java.lang.Object`类是Java语言中的根类,即所有类的父类.它中描述的所有方法子类都可以使用.在对象实例化的时候,最终找的父类就是Object. 如果一个类没有特 ...

  3. Java基础学习笔记十三 常用API之正则表达式、Date、DateFormat、Calendar

    正则表达式 正则表达式(英语:Regular Expression,在代码中常简写为regex).正则表达式是一个字符串,使用单个字符串来描述.用来定义匹配规则,匹配一系列符合某个句法规则的字符串.在 ...

  4. JAVA (StringBuffer/StringBuilder)常用API

    public class Copy3 { public static void main(String[] args) { //构造实例化 StringBuffer strbu = new Strin ...

  5. java基础3.0:Java常用API

    本篇介绍Java基础中常用API使用,当然只是简单介绍,围绕重要知识点引入,巩固开发知识,深入了解每个API的使用,查看JavaAPI文档是必不可少的. 一.java.lang包下的API Java常 ...

  6. Java map 详解 - 用法、遍历、排序、常用API等

    尊重原创: http://www.cnblogs.com/lzq198754/p/5780165.html 概要: java.util 中的集合类包含 Java 中某些最常用的类.最常用的集合类是 L ...

  7. java常用API的总结(1)

    本篇是对于这一段时间以来接触到的常用api的一些总结,便于以后的查阅.... 一.正则表达式 对于正则表达式,我的感觉就是当我们在做某些题的时候正则表达式会省去我们很多的时间,并且正则表达式的使用格式 ...

  8. Java 之常用API(一)

    常用API  1 API概述  2 Scanner类与String类  3 StringBuilder类 NO.one API概述 1.1 API概述 API(Application Programm ...

  9. java:Hibernate框架1(环境搭建,Hibernate.cfg.xml中属性含义,Hibernate常用API对象,HibernteUitl,对象生命周期图,数据对象的三种状态,增删查改)

    1.环境搭建: 三个准备+7个步骤 准备1:新建项目并添加hibernate依赖的jar文件  准备2:在classpath下(src目录下)新建hibernate的配置文件:hibernate.cf ...

随机推荐

  1. 基于MFC的网页ActiveX控件开发全程实录2(js向ActiveX控件传递参数)

    原文转自 https://blog.csdn.net/qianbin3200896/article/details/81452822 1.ActiveX控件部分(JS到ActiveX控件)继续上一篇博 ...

  2. iftop:Linux流量监测工具

    一.安装须知: (1)iftop 必须以root运行   (2)安装前首先安装:libpcap和libcurses 及包驱动ncurses-devel libpcap-devel (2.1)libpc ...

  3. css 边框上如何写入文字?

    方法一: 1.首先,打开html编辑器,新建html文件,例如:index.html. 2.在index.html中的<body>标签中,输入html代码:. <div style= ...

  4. 修改mysql/MariaDB数据库的端口号+远程

    1.修改端口 2.远程+开放端口 (1)设置远程账号:xxx和密码yyyyyyygrant all privileges on *.* to 'xxx'@'%' identified by 'yyyy ...

  5. 解决npm安装时出现run `npm audit fix` to fix them, or `npm audit` for details 的问题

    npm audit fix npm audit fix --force npm audit 按照顺序一一运行亲测完全可用如果还是不行的话,可以把node_modules和package-lock.js ...

  6. java - day017 - 线程

    进程 操作系统中, 并行执行的任务 线程 进程内部, 并行执行的任务 进程包含线程 线程的创建 继承Thred 定义 Thred 的子类 重写 run() 方法 在 run() 方法中的代码, 是与其 ...

  7. Linux中安装配置启动关闭nginx等一系列动作

    Nginx简介 1.Nginx (engine x) 是一个高性能的Web服务器和反向代理服务器,也可以作为邮件代理服务器: 2.Nginx 是由俄罗斯人 Igor Sysoev 采用C语言开发编写的 ...

  8. 使用Dell iDRAC服务器远程控制安装操作系统简要图解

    使用Dell iDRAC服务器远程控制安装操作系统简要图解 iDARC tools   iDRAC又称为Integrated Dell Remote Access Controller,也就是集成戴尔 ...

  9. two pointers 思想

    针对有序的序列特性做出的优化思想

  10. 使用BCP实用工具导出导入数据

    https://docs.microsoft.com/zh-cn/sql/tools/bcp-utility?view=sql-server-ver15 bcp 实用工具可以在 Microsoft S ...