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 ...
随机推荐
- Python+Selenium+Chrome 的一个案例
第一步,下载chromeDrive:http://npm.taobao.org/mirrors/chromedriver(我下载的是2.43版本的chromedriver_win32.zip) 下载之 ...
- Kubernetes学习笔记(二):Pod、标签、注解
pod与容器 一个pod是一组紧密相关的容器,它们总是一起运行在同一个节点上,以及同一个LInux命名空间中. 每个pod拥有自己的ip,包含若干个容器.pod分布在不同的节点上. 为什么需要pod ...
- TCP三次握手的seq和ack号的【正确】理解
1 理论知识 先上一张图,TCP/IP详解第18章的这张图描述了一个正常的三次握手和四次挥手的状态迁移,以及seq.ack序号的变化. 基本状态看图就能了解,本文主要围绕序号的变化进行讲解. 1)se ...
- mysql小白系列_09 mysql性能优化关键点
一 服务器参数调优,有哪些关键点? 1. 应用访问优化 优化方法 性能提升效果 优化成本 说明 减少数据访问能不访问就不访问-减少磁盘IO 1~1000 低 缓存服务器缓存mysql数据,Redis. ...
- HTML使用正则验证
制作HTML前台用户验证等,需要对用户名或者密码进行验证,这时使用正则表达式能够精确地对text进行限制. 具体在HTML中的运用代码如下: 转自 https://blog.csdn.net/weix ...
- wxss--外联样式与内联样式
外联样式 有样式表a.wxss和index.wxss如下: /**a.wxss**/ .container1{ border: 1px solid #000; } /**index.wxss**/ . ...
- codeforce E. Fire背包
E. Fire time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...
- CF808E Selling Souvenirs
题目链接: http://codeforces.com/contest/808/problem/E 题目大意: Petya 有 n 个纪念品,他能带的最大的重量为 m,各个纪念品的重量为 wi,花费为 ...
- python遍历
实现遍历: #coding=utf-8 #遍历的2种方式 import os #1.使用os.listdir(f) def traverse(f): fs = os.listdir(f) for f1 ...
- Kafka SSL安装与配置
1.概述 最近有同学咨询说,Kafka的SSL安全认证如何安装与使用?今天笔者将通过以下几个方面来介绍Kafka的SSL: Kafka 权限介绍 Kafka SSL的安装与使用 Kafka Eagle ...