JDK8添加了java.time包,提供了很多方便。
用得比较多的几个类:
Instant 在时间线上模拟单个瞬时点
Duration 以秒和纳秒为单位模拟一个数量或时间量。可以使用其他基于持续时间的单位访问它,例如分钟和小时
LocalDate 表示ISO-8601日历系统中没有时区的日期,例如 2019-03-31
LocalTime 表示ISO-8601日历系统中没有时区的时间,例如 16:50:30
LocalDateTime 表示ISO-8601日历系统中没有时区的日期时间,例如
2019-03-31T10:15:30
其中一些方法使用如下:
public static void main(String[] args) {
//2019-03-31
LocalDate localDate = LocalDate.now();
System.out.println(localDate);
// 15:56:36.232
LocalTime localTime = LocalTime.now();
System.out.println(localTime);
// 2019-03-31T15:56:36.233
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime);
// 2019-03-31T07:56:36.233Z
Instant instant = Instant.now();
System.out.println(instant);
// 获取当前的时间戳(毫秒)
long instantMilli = instant.toEpochMilli();
System.out.println(instantMilli);
// 一个小时后的时间=加了一个小时时间
Instant plus1Hours = instant.plus(1, ChronoUnit.HOURS);
// 计算两个时间之间的时间量
long until = instant.until(plus1Hours, ChronoUnit.SECONDS);
System.out.println(until);
// 一个小时前的时间=减了一个小时
Instant minus1Hours = instant.minus(1, ChronoUnit.HOURS);
System.out.println(minus1Hours);
// Instant转换成java.util.Date类型
Date date = Date.from(instant);
System.out.println(date);
// java.util.Date转换成Instant类型
Instant dateInstant = date.toInstant();
System.out.println(dateInstant);
// 当天开始时间
LocalDateTime start = LocalDateTime.of(localDate, LocalTime.MIN);
// 当天结束时间
LocalDateTime end = LocalDateTime.of(localDate, LocalTime.MAX);
System.out.println(start);
System.out.println(end);
// 计算两个时间之间的时间量度
Duration duration = Duration.between(start, end);
System.out.println(duration.toDays());
System.out.println(duration.toHours());
System.out.println(duration.toMinutes());
System.out.println(duration.toMillis());
System.out.println(duration.getSeconds());
// 格式化初始指定时间
System.out.println(LocalDateTime.parse("2019-03-01 11:10:12", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
}
 

JDK8时间工具类的更多相关文章

  1. 代码片段:基于 JDK 8 time包的时间工具类 TimeUtil

    摘要: 原创出处:www.bysocket.com 泥瓦匠BYSocket 希望转载,保留摘要,谢谢! “知识的工作者必须成为自己时间的首席执行官.” 前言 这次泥瓦匠带来的是一个好玩的基于 JDK ...

  2. Java日期工具类,Java时间工具类,Java时间格式化

    Java日期工具类,Java时间工具类,Java时间格式化 >>>>>>>>>>>>>>>>>&g ...

  3. 小记Java时间工具类

    小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data) 获取时间的格式 格式化时间 返回String 两个时间只差(String) 获取两个时间之间的日期.月份.年份 ...

  4. 超详细的Java时间工具类

    package com.td.util; import java.sql.Timestamp; import java.text.ParseException; import java.text.Pa ...

  5. java时间工具类

    在项目中,很多地方需要根据时间获取相应的数据,将时间格式化,或者时间比较等相关操作.一个良好的工具类不仅可以减少代码冗余,还能促进业务处理,加快进度. /** * @author: lxw * @Da ...

  6. 基于Java8的日期时间工具类DateTimeFormatter

    原文:https://blog.csdn.net/qq_36596145/article/details/85331002 import java.time.Instant; import java. ...

  7. Apache Commons Lang之日期时间工具类

    码农不识Apache,码尽一生也枉然. FastDateFormat FastDateFormat是一个快速且线程安全的时间操作类,它完全可以替代SimpleDateFromat.因为是线程安全的,所 ...

  8. jdk1.8 时间工具类,可以满足基本操作

    时间工具类 public static final String DEFAULT_DATE_FORMAT = "yyyy-MM-dd"; public static final S ...

  9. Java8 ,LocalDate,LocalDateTime处理日期和时间工具类,

    Java8 ,LocalDate,LocalDateTime处理日期和时间工具类 1.获取今天的日期 2.在Java 8 中获取年.月.日信息 3.在Java 8 中处理特定日期 4.在Java 8 ...

随机推荐

  1. 三层架构(MVC)实现简单登陆注册验证(含验证码)

    前言在我的上一篇微博里我已经提出了登陆的方法,当时我采取的是纯servlet方式,因为当时刚接触到servlet,正好网上没有这方面的全面讲解,所以我就发飙了.不过在现实生产中我们大多采用的三层架构. ...

  2. 关于JSP页面的静态包含和动态包含

    JSP中有两种包含:静态包含:<%@include file="被包含页面"%> 和 动态包含:<jsp:include page="被包含页面&quo ...

  3. 「雕爷学编程」Arduino动手做(9)——火焰传感器模块

    37款传感器和模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器与模块,依照实践出真知(动手试试)的理念,以学习和交流为目的,这里准备 ...

  4. 五分钟学会悲观乐观锁-java vs mysql vs redis三种实现

    1 悲观锁乐观锁简介 乐观锁( Optimistic Locking ) 相对悲观锁而言,乐观锁假设认为数据一般情况下不会造成冲突,所以在数据进行提交更新的时候,才会正式对数据的冲突与否进行检测,如果 ...

  5. 性能测试学习第一天-----概念、环境、LR录制&参数化

    1.性能测试的概念: 通过一定的手段,在多并发情况下,获取被测系统的各项性能指标, 验证被测系统在高并发下的处理能力.响应能力.稳定性等,能否满足预期.定位性能瓶颈,排查性能隐患,保障系统的质量,提升 ...

  6. mysql 显示表名和表数量

    SELECT count(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA='dbname'; SELECT * FROM informatio ...

  7. 初学HTML5做的小知识点

    新增的HTML5标签 语义化标签 :<header> 头标签      <nav> 导航标签      <section> 表示文档的结构.栏目      < ...

  8. SQL奇技淫巧(01):给查出的数据排序编个号【row_number() over(order by c)】(mysql,db2,oracle,sqlserver通用)

    我们天天都在跟数据库打交道,写下的代码不计其数,写下的SQL更是可以绕地球几圈.这里收集关于SQL的神奇语法及用法,虽然你可能没有用过,但这些SQL却可以在关键的时候,派上用场. 我对SQL语句的理解 ...

  9. Redis学习总结(一)--Redis入门

    Redis 概念 1.Redis 是什么 Redis 是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理. 2.Redis 能干什么 Redis 支持字符串.哈希 ...

  10. spring、spring mvc与spring boot的区别是什么?

    Spring 的功能 Spring 框架就像一个家族,有众多衍生产品例如 boot.security.jpa等等.但他们的基础都是Spring 的 ioc和 aop ioc 提供了依赖注入的容器 ao ...