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之Linux中mariadb主从复制
master主机mysql安装配置 1.下载mariadb(Centos7开始mysql的名字) (1)其它方式(不推荐):rpm安装/软件源安装 (2)yum安装(推荐): ①centos官方的yu ...
- MySQL执行外部sql脚本文件命令是报错:unknown command
使用source导入外部sql文件: mysql> source F:\php\bookorama.sql; -------------- source F: -------------- ER ...
- SecureCRT VBscript关闭Flow Control CTS
crt.Session.Connect "/Serial COM2 /BAUD 38400 /NOCTS" 更多命令行参数可查看SecureCRT-Help-Help Topics ...
- iOS开发常用技能点(持续更新中。。。)
1,以屏幕原点开始布局 (默认从导航栏原点布局) self.extendedLayoutIncludesOpaqueBars = YES; 2,向button发送点击事件 [self.playB ...
- 基于 abp vNext 和 .NET Core 开发博客项目 - 接入GitHub,用JWT保护你的API
上一篇文章(https://www.cnblogs.com/meowv/p/12924859.html)再次把Swagger的使用进行了讲解,完成了对Swagger的分组.描述和开启小绿锁以进行身份的 ...
- 如何在手机上预览本地h5页面
很简洁的一个方法: 1.安装nodeJS环境 2.在当前所在项目文件夹下输入命令: npm install anywhere -g3.输入命令: anywhere,即可在浏览器以本机ip地址为域名,自 ...
- Mysql 查询指令 1
一.查询两个时间字段相减的差值 >>> (TIME_TO_SEC(时间字段一) select bl_no, task_result, carrier_code, task_start ...
- Sniffer截包工具的使用
Sniffer软件的安装 sniffer需要在xp或者win2003环境下才能正常运行,如果没有这两个系统,可以安装虚拟机,在虚拟机上使用sniffer.如果没有这两个系统就会出现找不到网卡或者打不开 ...
- Java IO(十三)PipedReader 和 PipedWriter
Java IO(十三)PipedReader 和 PipedWriter 一.介绍 PipedReader 和 PipedWriter 分别是管道字符输入流和管道字符输出流,它们同 PipedInpu ...
- 设计带构造函数的Dog类 代码参考
#include <iostream> #include <string> using namespace std; class Dog { private: string n ...