jdk1.8日期转换(Date、LocalDate、LocalDateTime、Timestamp之间转换)
2019-08-01 16:46
351 查看
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41205148/article/details/98075031
仅记录一下
// Copyright 2016-2101 Pica. package com.pica.cloud.health.sms.common.utils; import java.io.Serializable; import java.sql.Timestamp; import java.text.SimpleDateFormat; import java.time.*; import java.time.format.DateTimeFormatter; import java.util.Date; /** * @ClassName SmsDateUtil * @Description 时间处理工具类 * @Author Chongwen.jiang * @Date 2019/6/11 15:53 * @ModifyDate 2019/6/11 15:53 * @Version 1.0 */ public class SmsDateUtil implements Serializable { public static final String DATE_YYYYMM_PATTERN = "yyyyMM"; public static final String DATE_YEAR_MONTH_PATTERN = "yyyy-MM"; public static final String DATE_YEAR_PATTERN = "yyyy"; public static final String DATE_PATTERN = "yyyy-MM-dd"; public static final String DATE_TIME_PATTERN = "yyyy-MM-dd HH:mm:ss"; public static final String DATE_SHORTTIME_PATTERN = "yyyy-MM-dd HH:mm"; public static final String DATE_PATTERN_2 = "yyyy/MM/dd"; public static final String DATE_POINT_PATTERN = "yyyy.MM.dd"; public static final String DATE_POINT2_PATTERN = "yyyy.MM"; public static final String DATE_YYYYMMDDHHmm = "yyyy年MM月dd日 HH:mm"; public static final String DATE_HHmmss = "HH:mm:ss"; public static final String DATE_mdHHmmss = "MM-dd HH:mm:ss"; /** * @Description Date对象转换为LocalDateTime对象 * @Author Chongwen.jiang * @Date 2019/6/11 16:02 * @ModifyDate 2019/6/11 16:02 * @Params [date, pattern] * @Return java.time.LocalDateTime */ public static LocalDateTime date2LocalDateTime(Date date){ return date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); } /** * @Description LocalDateTime对象转换为Date对象 * @Author Chongwen.jiang * @Date 2019/6/11 16:03 * @ModifyDate 2019/6/11 16:03 * @Params [localDateTime] * @Return java.util.Date */ public static Date localDateTime2Date(LocalDateTime localDateTime){ ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zdt = loca 3ff7 lDateTime.atZone(zoneId); return Date.from(zdt.toInstant()); } /** * @Description LocalDateTime对象转换为指定格式字符串 * @Author Chongwen.jiang * @Date 2019/6/11 16:03 * @ModifyDate 2019/6/11 16:03 * @Params [localDateTime, pattern] * @Return java.lang.String */ public static String formatTime(LocalDateTime localDateTime, String pattern){ if(null == localDateTime){ localDateTime = LocalDateTime.now(); } return DateTimeFormatter.ofPattern(pattern).format(localDateTime); } /** * @Description timestamp转换为指定格式字符串 * @Author Chongwen.jiang * @Date 2019/6/13 19:09 * @ModifyDate 2019/6/13 19:09 * @Params [date, pattern] * @Return java.lang.String */ public static String format(Long date, String pattern){ return formatTime(timeStamp2LocalDateTime(date), pattern); } /** * @Description Date对象转换为指定格式字符串 * @Author Chongwen.jiang * @Date 2019/6/13 18:38 * @ModifyDate 2019/6/13 18:38 * @Params [date, pattern] * @Return java.lang.String */ public static String format(Date date, String pattern){ return new SimpleDateFormat(pattern).format(date); } /** * @Description Date对象转换为LocalDate对象 * @Author Chongwen.jiang * @Date 2019/6/11 16:17 * @ModifyDate 2019/6/11 16:17 * @Params [date] * @Return java.time.LocalDate */ public static LocalDate date2LocalDate(Date date){ return LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault()).toLocalDate(); } /** * @Description Date转换为timestamp * @Author Chongwen.jiang * @Date 2019/6/13 13:16 * @ModifyDate 2019/6/13 13:16 * @Params [date] * @Return long */ public static long date2Timestamp(Date date){ if(null == date){ date = new Date(); } return Timestamp.valueOf(date2LocalDateTime(date)).getTime(); } /** * @Description LocalDateTime转换为timestamp * @Author Chongwen.jiang * @Date 2019/6/13 13:16 * @ModifyDate 2019/6/13 13:16 * @Params [localDateTime] * @Return long */ public static long localDate2Timestamp(LocalDateTime localDateTime){ if(null == localDateTime){ localDateTime = LocalDateTime.now(); } return Timestamp.valueOf(localDateTime).getTime(); } /** * @Description 时间戳转换为LocalDateTime * @Author Chongwen.jiang * @Date 2019/6/13 15:03 * @ModifyDate 2019/6/13 15:03 * @Params [timestamp] * @Return java.time.LocalDateTime */ public static LocalDateTime timeStamp2LocalDateTime(long timestamp){ return LocalDateTime.ofEpochSecond(timestamp/1000,0,ZoneOffset.ofHours(8)); } /** * @Description 时间戳转换为LocalDate * @Author Chongwen.jiang * @Date 2019/6/13 15:03 * @ModifyDate 2019/6/13 15:03 * @Params [timestamp] * @Return java.time.LocalDateTime */ public static LocalDate timeStamp2LocalDate(long timestamp){ return date2LocalDate(localDateTime2Date(LocalDateTime.ofEpochSecond(timestamp/1000,0,ZoneOffset.ofHours(8)))); } /** * @Description 获取两个时间相差小时数 * @Author Chongwen.jiang * @Date 2019/6/15 10:23 * @ModifyDate 2019/6/15 10:23 * @Params [fromDate, toDate] * @Return int */ public static int compareDate(String fromDate, String toDate) { int hours = 0; try { SimpleDateFormat simpleFormat = new SimpleDateFormat(DATE_SHORTTIME_PATTERN); long to = simpleFormat.parse(toDate).getTime(); long from = simpleFormat.parse(fromDate).getTime(); hours = (int) ((to - from)/(1000 * 60 * 60)); System.out.println("QQ"+hours); } catch (Exception e) { e.printStackTrace(); } return hours; } /** * @Description 获取两个时间相差天数 * @Author Chongwen.jiang * @Date 2019/6/15 10:25 * @ModifyDate 2019/6/15 10:25 * @Params [startDate, endDate] * @Return long */ public static long diffDays 4000 (LocalDate startDate, LocalDate endDate) { return endDate.toEpochDay() - startDate.toEpochDay(); } }
相关文章推荐
- Mysql日期时间类型(DATE,DATETIME,TIMESTAMP)和函数及与linux系统时间之间的转换(UNIX_TIMESTAMP、FROM_UNIXTIME)
- jdk1.8 日期新API LocalDateTime,LocalDate,LocalTime 在Hibernate中无法反序列化解决方法
- SQL Server日期处理datetime和date之间的相互转换
- 日期处理datetime和date之间的相互转换
- SQL Server日期处理datetime和date之间的相互转换
- 在java中实现日期类型和字符串类型的转换_所有(Date String Timestamp Datetime)
- SQL Server日期处理datetime和date之间的相互转换
- JDK1.8新特性LocalDate和DateTimeFormatter时间转化
- spring-boot 接口请求之Date、LocalDate、LocalDateTime日期类型转换处理
- 日期处理datetime和date之间的相互转换
- [转载]日期处理datetime和date之间的相互转换
- java日期互转:LocalDateTime、String、TimeStamp、Long、Instant、Date
- 如何将java中Date存入mysql中的datetime中,字符串怎么转换为日期类型
- ava:String和Date、Timestamp之间的转换
- String和Date、Timestamp之间的转换
- java中String Date Timestamp Calendar 之间的关系及转换
- js中Date日期格式转换以及时间和毫秒之间的转换
- JDK8 LocalDateTime日期操作大升级
- Java:String和Date、Timestamp之间的转换
- 日期工具类(获取两日期之前相差天数及String/Timestamp/Date对象之前的日期转换)