/**
* Java 8 新日期API - 线程安全
*/
public class NewDateUtil {
/**
* 获取当前时间字符串
* @return yyyy-MM-dd HH:mm:ss
*/
public static String getNow(){
return DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now());
}
/**
* 返回无分隔符号的日期时间字符串
* @return 20210118232412
*/
public static String getNowString(){
return DateTimeFormatter.ofPattern("yyyyMMddHHmmss").format(LocalDateTime.now());
}
/**
* 根据格式化字符串得到指定时间字符串
* @param pattern 格式化字符串
* @param local 格式化之后的时间字符串
* @return
*/
public static String getDateTimeForPattern(String pattern,LocalDateTime local){
return DateTimeFormatter.ofPattern(pattern).format(local);
}
/**
* 根据时间字符串解析成时间格式
* @param dateTime 时间字符串
* @return
*/
public static LocalDateTime parseForPattern(String dateTime,String pattern){
return LocalDateTime.parse(dateTime,DateTimeFormatter.ofPattern(pattern));
}
/**
* 以人方便可读进行解析
* @param dateTime
* @return
*/
public static LocalDateTime parseForPerson(String dateTime){
return LocalDateTime.parse(dateTime,DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
/**
* 计算时间差
* @param startTime 开始时间
* @param endTime 结束时间
* 单位:秒
* @return
*/
public static Integer timeDifference(Temporal startTime, Temporal endTime){
return (int) Duration.between(startTime, endTime).getSeconds();
}
public static void main(String[] args) {
System.out.println(getNowString());
System.out.println(getDateTimeForPattern("yyyy", LocalDateTime.now()));
System.out.println(parseForPattern("2015-11-01 11:25:36","yyyy-MM-dd HH:mm:ss"));
}
}