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. struts的上传下载

    文件上传 添加jar包 commons-io-1.3.2.jar commons-fileupload-1.2.1.jar 前台页面 form表单 method值为post 添加"encty ...

  2. HTML5标签的使用和作用

    在菜鸟教程中找了一些关于HTML5的知识点,觉得很有用,可以整理一下,以后使用. 这是一个基本的HTML5文档: <!DOCTYPE html><html><head&g ...

  3. Vector使用方法简单整理

    使用vector,需要引用vector库: #include<vector> 首先,创建一个可以容纳int的vector变量——arr: vector<int> arr; 接着 ...

  4. 7.26 面向对象_封装_property_接口

    封装 封装 就是隐藏内部实现细节, 将复杂的,丑陋的,隐私的细节隐藏到内部,对外提供简单的访问接口 为什么要封装 1.保证关键数据的安全性 2.对外部隐藏实现细节,隔离复杂度 什么时候应该封装 1.当 ...

  5. win10文件备份、文件同步方案

    用个人版onedrive同步重要数据,数据安全有保障,但免费版只有15G空间,需要合理分配.(201907与别人合租家庭版,空间1T充足) google-drive可以同步指定的文件夹,但空间也只有1 ...

  6. QMS 的趨勢概述

    自泰勒Taylor提出的科学管理被奉行后,制造业的分工已然成形,而产品不再是由工匠单独负责完成.为确保产品的质量,产品在完工后的检验为确保瑕疵品不外流出给客户的必要关卡.然而当产品依靠检验结果并无法减 ...

  7. Kali Linux无法访问网络的问题

    首先 ping www.baidu.com ping: unkown host www.baidu.com 然后 ping 8.8.8.8 connect:network is unreachable ...

  8. spark读取pg数据库报错操作符不存在

    代码: Properties connectionProperties = new Properties(); connectionProperties.put("user", C ...

  9. 以帧为存储单位的循环stack

    此stack主要是作为存储空间使用,主要的借口就是push和pop. stack frame的src以及例程位于stack_FrameTest这个库当中,其中有readme文件,可以快速上手. sta ...

  10. 二阶段js 入门知识点 自我总结复习

    二阶段自我总复习   1.javascript基础 :  客户端   安全性   跨平台   脚本语言 三大结构:  顺序 .选择.循环                    顺序:运算符和表达式  ...