自己整理的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相关工具的更多相关文章

  1. java8 Date/Time API 新的日期处理工具

    接上篇文章 java8 新特性 由于上篇过于庞大,使得重点不够清晰,本篇单独拿出 java8 的 Date/Time api 进行说明,新的日期时间工具全部都在 java.time 及其子包中. 新 ...

  2. Java8 Date与LocalDate互转

    Java8 日期时间API,新增了LocalDate.LocalDateTime.LocalTime等线程安全类,接下来要说的是LocalDate与java.util.Date之间的转换. 1.Loc ...

  3. java8 Date Localdatetime instant 相互转化(转) 及当天的最大/最小时间

    Java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法 // Obtains an instance of Dat ...

  4. java8 Date LocalDate LocaDateTime 互相转化

    java 8中 java.util.Date 类新增了两个方法,分别是from(Instant instant)和toInstant()方法 // Obtains an instance of Dat ...

  5. Java8 Date API

    一 .Clock 时钟 Clock类提供了访问当前日期和时间的方法,Clock是时区敏感的,可以用来取代 System.currentTimeMillis() 来获取当前的微秒数.某一个特定的时间点也 ...

  6. Java8时间的简单时间

    package com.java8.date; import org.junit.Test; import java.text.SimpleDateFormat; import java.time.* ...

  7. JAVA8之日期操作详解

    package org.date; import java.time.DayOfWeek; import java.time.LocalDate; import java.time.Month; im ...

  8. Java日期时间API系列21-----Jdk8中java.time包中的新的日期时间API类,xk-time时间转换,计算,格式化,解析的工具

    通过工作之余,对Java8中java.time包源码的不断学习,使用和总结,开发了xk-time,初步完成,欢迎试用和提出建议! xk-time xk-time is a datetime conve ...

  9. 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 ...

随机推荐

  1. 如何使用IDEA快速创建一个springboot项目

    如何使用IDEA快速创建一个springboot项目 https://jingyan.baidu.com/article/0964eca24fdd938284f53640.html

  2. C# 数据操作系列 - 13 SugarSql初探

    0. 前言 前言,暂时挥别NHibernate(虽然我突然发现这玩意还挺有意思的,不过看得人不多).大步进入了有很多小伙伴向我安利的SQLSugar,嗯,我一直叫SugarSQL,好像是这个吧? 这是 ...

  3. 王艳 201771010127《面向对象程序设计(java)》第三周学习总结

    一:理论知识总结: 第一章:主要概述了java相比其他程序设计语言(如C语言.c++)之间的不同性能.为我们揭示了java这种语言的设计初衷一节截至目前java语言达到的效果.另外,还简要介绍了jav ...

  4. POJ1661

    题目链接:http://poj.org/problem?id=1661 解题思路: 离散化处理 + DP. 首先,纵坐标除了用来判断老鼠是否会摔死之外基本没用,主要考虑横坐标,只要求出在横坐标上必须走 ...

  5. 模板:DOM常用场景【表单提交】——javascript结合HTML DOM(或者JQuery)运用

    一.删除行为前的提示 首先要有一个onclick的DOM(点击)事件,和一个JavaScript弹出框:confirm()确认框 <script> function del(){ var ...

  6. tomcat关于配置servlet的url-pattern的问题详解

    目录 1 servlet url-pattern的匹配问题 1.1 精确匹配 1.2 路径匹配 1.3 后缀匹配 注意:路径和后缀匹配无法同时设置 2 url-pattern中/和/*的区别 3 ur ...

  7. sqoop-介绍及安装

    1.sqoop概述 sqoop是Apache旗下一款hadoop和关系数据库服务器之间传送数据的工具: 核心的功能: 导入,迁入(从关系型数据库-->hdfs hive hbase) 导出,迁出 ...

  8. web自动化之Select标签操作

    from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from seleni ...

  9. Android_适配器(adapter)之BaseAdapter

    BaseAdapter是应用最多的一种适配了.它是一个抽象类,需要重写方法完成自定义适配器的功能,这就比较自由灵活,能实现各种想要的效果. 之前讲到的SimpleAdapter和ArrayAdapte ...

  10. Java中的集合(十一) 实现Map接口的TreeMap

    Java中的集合(十一) 实现Map接口的TreeMap 一.TreeMap简介(基于JDK1.8) TreeMap是基于红黑树数据结构,是一个key-value的有序集合,该映射根据其键的自然顺序进 ...