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 ...
随机推荐
- Redux:Reducers
action只是描述了“发生了什么事情(导致state需要更新)”,但并不直接参与更新state的操作.state的更新由reducer函数执行. 其基本模式是:(state,action)=> ...
- scrapy框架简介与安装启动
Scrapy 是一个专业的.高效的爬虫框架,它使用专业的 Twisted 包(基于事件驱动的网络引擎包)高效地处理网络通信,使用 lxml(专业的 XML 处理包).cssselect 高效地提取 H ...
- linux常用命令---网络端口信息与进程管理
进程管理 进程管理
- 关于Docker的实践
docker 安装 wget -qO- https://get.docker.com/ | sh 镜像 images search pull commit build tag 查看本地镜像:docke ...
- 201771010128王玉兰《面向对象程序设计(Java)》课程学习总结
1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: ...
- CentOS7初始化服务器开发环境——根据个人习惯而定
目录 修改hostname 创建个人账户和组 修改hostname 编辑主机名称,注意:执行以下指令,无需重启服务器,因为此指令实时写入linux 内核 hostnamectl --static se ...
- 干货 | Kafka 内核知识梳理,附思维导图
前面我们已经分享过几篇Kafka的文章,最近简单梳理了下Kafka内核相关的知识,涵盖了Kafka架构总结,副本机制,控制器,高水位机制,日志或消息存储,消息发送与消费机制等方面知识.文末含对应的Ka ...
- 实验一:Linux系统与应用准备
项目 内容 这个作业属于哪个课程 班级课程 这个作业的要求在哪里 作业要求 学号-学号 17043133-木腾飞 作业学习目标 (1)学习博客园软件开发者学习社区使用技巧和经验:(2)学习Markdo ...
- Linux 番茄时钟 定时 取消 快捷方式
shell 脚本 clock.sh #!/bin/bash if [ $1 == 0 ] then at -d `atq | awk -v ORS=" " '{a[NR]=$1} ...
- RabbitMQ学习笔记一
前 言 -解决问题 一.RabbitMQ安装 1.安装erlang 环境 a.下载erlang 版本,注意这里需要和安装的rabbitMq版本相配对,rabbitMQ官方网站上可以查到:https ...