废话没有,看代码
package org.atm.dc.app.util;
import java.time.Instant;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
* 基于JDK1.8
* Created by HH on 2019/7/30
*/
public class DateUtils {
public static String YYYY_MM_DD = "YYYY-MM-DD";
public static String YYYYMMDD = "YYYYMMDD";
public static String YYYYMMDDHHmmSS = "YYYYMMDDHHmmss";
public static String YYYY_MM_DD_HH_mm_SS = "YYYY_MM_DD HH:mm:ss";
/**
* 获取时间
*
* @param date 日期
* @param pattern 格式
* @return
*/
public static String getTime(Date date, String pattern) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return formatter.format(dateToDateTime(date));
}
/**
* 获取Date
*
* @param time 时间
* @param pattern 格式
* @return
*/
public static Date getDate(String time, String pattern) {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
return dateTimeToDate(LocalDateTime.parse(time, formatter));
}
/**
* date转dateTime
*
* @param date
* @return
*/
private static LocalDateTime dateToDateTime(Date date) {
Instant instant = date.toInstant();
return LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
}
/**
* dateTime转Date
*
* @param localDateTime
* @return
*/
private static Date dateTimeToDate(LocalDateTime localDateTime) {
Date date = Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant());
return date;
}
/**
* 获取某年某月最后一周的周日
*
* @return yyyy-mm-dd
*/
public static LocalDate getWeekLastDay(int year, int month) {
LocalDate parse = LocalDate.of(year, month, 1);
return parse.with(TemporalAdjusters.dayOfWeekInMonth(-1, DayOfWeek.SUNDAY));
}
}