package cn.com.hongyitech.accountsystem.utils;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.*;
import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
* @Description: 新特性的时间处理工具类
* @Author: hl
* @CreateDate: 2019/1/7 9:33
* @UpdateUser: hl
* @UpdateDate: 2019/1/7 9:33
* @UpdateRemark: 修改内容
* @Version: 1.0
* 适用jdk 8及以上版本
*/
public class DateUtil {
/**
* 根据传入的日期获取字符串形式的年月日
* date--->【yyyy-mm-dd】
*
* @return
* @throws
* @author hl
* @date 2019/1/7 9:34
*/
public static String dateToYMD(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
LocalDate localDate = localDateTime.toLocalDate();
return localDate.toString();
}
/**
* 根据传入的日期格式化成需要的样式
*
* @return yyyy-MM-dd HH:mm:ss
* @throws
* @author hl
* @date 2019/1/7 9:46
*/
public static String dateToYMDHMS(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
DateTimeFormatter dateTimeFormater = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
return dateTimeFormater.format(localDateTime);
}
/**
* 根据传入的日期格式化成需要的样式
*
* @return yyyy年MM月dd日hh时mm分ss秒
* @throws
* @author hl
* @date 2019/1/7 9:49
*/
public static String dateToYMDhms(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
DateTimeFormatter dateTimeFormater = DateTimeFormatter.ofPattern("yyyy年MM月dd日HH时mm分ss秒");
return dateTimeFormater.format(localDateTime);
}
public static String date2YMDhms(Date date) {
return date2YMDhmsss(date);
}
/**
* 根据传入的日期转成带毫秒值的字符串格式
*
* @return yyyyMMddhhmmssSSS
* @throws
* @author hl
* @date 2019/1/7 9:52
*/
public static String date2YMDhmsss(Date date) {
Instant instant = date.toInstant();
ZoneId zone = ZoneId.systemDefault();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);
DateTimeFormatter dateTimeFormater = DateTimeFormatter.ofPattern("yyyyMMddHHmmssSSS");
return dateTimeFormater.format(localDateTime);
}
/**
* 字符串形式日期转换成标准日期 String --> Date "yyyy-MM-dd"-->yyyy-MM-dd
*
* @return
* @throws
* @author hl
* @date 2019/1/7 9:55
*/
public static LocalDate YMDToDate(String date) {
return LocalDate.parse(date, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
}
/**
* 字符串形式日期转换成标准日期 String --> Date "yyyy-MM-dd HH:mm:ss"-->yyyy-MM-dd HH:mm:ss
*
* @return
* @throws
* @author hl
* @date 2019/1/7 10:24
*/
public static LocalDateTime YMDHMSToDate(String date) {
DateTimeFormatter df