java8 Date相关工具
自己整理的java8 常用的工具类
/**
* @Author taozhaoyang
* @Description 结合 java8 线程安全
* @Date 9:55 2018/7/30
**/
public class NewDateUtil { private static DateTimeFormatter sdf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); /**
* 时间戳 转 date(String)
*
* @param time 毫秒
* @return
*/
public static String formatTimestamp(Long time) {
return sdf.format(LocalDateTime.ofInstant(Instant.ofEpochMilli(time), ZoneId.systemDefault()));
} /**
* @Author taozhaoyang
* @Description localDateTime 转 Date
* @Date 20:07 2018/7/30
* @Param [localDateTime]
* @return java.util.Date
**/
public static Date covertLocalDateTimeToDate (LocalDateTime localDateTime) {
return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
} /**
* @Author taozhaoyang
* @Description localDateTime 转 String
* @Date 20:07 2018/7/30
* @Param [localDateTime]
* @return java.lang.String
**/
public static String formatLocalDateTime (LocalDateTime localDateTime) {
return formatDate(covertLocalDateTimeToDate(localDateTime));
} /**
* 时间 转 date(String)
*
* @param date
* @return
*/
public static String formatDate(Date date) {
return sdf.format(covertDateToLocalDateTime(date));
} public static LocalDateTime covertDateToLocalDateTime (Date date) {
return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
}
/**
* string 转date
*
* @param date
* @return
*/
public static Date parseString(String date) {
return Date.from(LocalDateTime.parse(date, sdf).atZone(ZoneId.systemDefault()).toInstant());
} /**
* @Author taozhaoyang
* @Description 比较相差多少天,只比较天数
* @Date 20:30 2018/7/30
* @Param [startDate, endDate]
* @return long
**/
public static long compareDates(Date startDate,Date endDate) {
return covertDateToLocalDateTime(endDate).toLocalDate().until(covertDateToLocalDateTime(endDate).toLocalDate(), ChronoUnit.DAYS);
} /**
* @Author taozhaoyang
* @Description 今天 还剩多少秒
* @Date 20:35 2018/7/30
* @Param [startDate, endDate]
* @return long
**/
public static long remianSecondsOfToday() {
return LocalDateTime.now().until(LocalDateTime.of(LocalDate.now(),LocalTime.MAX), ChronoUnit.SECONDS);
} /**
* @Author taozhaoyang
* @Description 和当前相差多少天
* @Date 20:31 2018/7/30
* @Param [endDate]
* @return long
**/
public static long compareToDay(Date endDate) {
return LocalDate.now().until(covertDateToLocalDateTime(endDate), ChronoUnit.DAYS);
} public static void main(String[] args) {
System.out.println("----------------------");
long time = 1532353895000L;
System.out.println(formatTimestamp(time)); Date date = new Date();
System.out.println(formatDate(date)); String str = "2018-07-23 21:51:35";
System.out.println(parseString(str));
System.out.println("----------------------"); System.out.println(formatLocalDateTime(LocalDateTime.now())); System.out.println(compareToDay(parseString(str)));
System.out.println(remianSecondsOfToday());
}
}
java8 Date相关工具的更多相关文章
- java8 Date/Time API 新的日期处理工具
接上篇文章 java8 新特性 由于上篇过于庞大,使得重点不够清晰,本篇单独拿出 java8 的 Date/Time api 进行说明,新的日期时间工具全部都在 java.time 及其子包中. 新 ...
- Java8 Date与LocalDate互转
Java8 日期时间API,新增了LocalDate.LocalDateTime.LocalTime等线程安全类,接下来要说的是LocalDate与java.util.Date之间的转换. 1.Loc ...
- java8 Date Localdatetime instant 相互转化(转) 及当天的最大/最小时间
Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法 // Obtains an instance of Dat ...
- java8 Date LocalDate LocaDateTime 互相转化
java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法 // Obtains an instance of Dat ...
- Java8 Date API
一 .Clock 时钟 Clock类提供了访问当前日期和时间的方法,Clock是时区敏感的,可以用来取代 System.currentTimeMillis() 来获取当前的微秒数.某一个特定的时间点也 ...
- Java8时间的简单时间
package com.java8.date; import org.junit.Test; import java.text.SimpleDateFormat; import java.time.* ...
- JAVA8之日期操作详解
package org.date; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.Month; im ...
- Java日期时间API系列21-----Jdk8中java.time包中的新的日期时间API类,xk-time时间转换,计算,格式化,解析的工具
通过工作之余,对Java8中java.time包源码的不断学习,使用和总结,开发了xk-time,初步完成,欢迎试用和提出建议! xk-time xk-time is a datetime conve ...
- how-to-convert-string-to-localdate
Few Java examples show you how to convert a String to the new Java 8 Date API – java.time.LocalDate ...
随机推荐
- MySQL zip解压 安装过程和配置
MYSQL官网下载地址:https://dev.mysql.com/downloads/mysql/ 1.下载mysql-5.7.19-winx64.zip,解压到指定的文件夹, 例如:E:\so ...
- Python列表,元组,字典,字符串方法笔记
01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...
- Web安全工程师(网易微专业Web安全学习笔记)
本篇笔记的配套视频:网易云课堂,微专业/web安全工程师. 一.WEB基础知识 1.1 Web简介 1.1.1 Web介绍 1)web的发展 web1.0:以内容为中心,网站提供内容信息,用户进行访问 ...
- wxss--外联样式与内联样式
外联样式 有样式表a.wxss和index.wxss如下: /**a.wxss**/ .container1{ border: 1px solid #000; } /**index.wxss**/ . ...
- Shift - And字符串快速处理 hdu5972+cf
基础知识介绍 KMP就是不断往前找1的位置,而ShiftAnd经过三步处理已经完成这个迭代的过程了 如果匹配两个字符集有限的字符串的话,那么Shift-And比kmp要快,找区间内某字符串出现的数目也 ...
- 2017-ACM南宁网络赛
In this problem, we will define a graph called star graph, and the question is to find the minimum d ...
- shiro配置springboot的基本配置
标准配置 对比 https://www.cnblogs.com/xiaozhang666/p/12058341.html 的对应注入查看 package com.zys.sys.config; im ...
- RocketMQ安装及入门
本文是作者原创,版权归作者所有.若要转载,请注明出处. 本文RocketMQ版本为rocketmq-all-4.7.0,系统为win10.请各位去官网下载,也可以留言,我发安装包 RocketMQ安装 ...
- cors跨越深度刨析
解决跨域的方式JSOP,和CORS JSONP不做介绍了. CORS跨域: 参考阮一峰http://www.ruanyifeng.com/blog/2016/04/cors.html 官方:https ...
- 脚本:Tomcat日志切割
Tomcat日志切割脚本 #!/bin/bash #Tomcat日志切割 Tomcat_logs_path=/data/server/tomcat-8080/logs d=`date +%F` d7= ...