import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
/**
- 时间工具类
*/
public class DataUntils {
/**
* Date 转 localDate
*/
public static LocalDate dateToLocalDate(Date date) {
Instant instant = date.toInstant();
ZonedDateTime zdt = instant.atZone(ZoneId.systemDefault());
LocalDate localDate = zdt.toLocalDate();
return localDate;
}
/**
* String转LocalDate 年月日
*/
public static LocalDate stringToLocalDate(String str) {
LocalDate localDate = LocalDate.parse(str, DateTimeFormatter.ofPattern("yyyy-MM-dd"));
return localDate;
}
/**
* localDate转Date
*/
public static Date localDateToDate(LocalDate localDate) {
ZonedDateTime zonedDateTime = localDate.atStartOfDay(ZoneId.systemDefault());
Instant instant = zonedDateTime.toInstant();
Date date = Date.from(instant);
return date;
}
/**
* String转Date
*/
public static Date stringToDate(String str) {
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd");
Date date = null;
try {
date = sf.parse(str);
} catch (Exception e) {
e.printStackTrace();
}
return date;
}
/**
* LocalDateTime转String 年月日,时分秒,12小时制
*/
public static String LocalDateTime12ToString() {
LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter fmt12 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss:SSS");
String dateStr12 = dateTime.format(fmt12);
return dateStr12;
}
/**
* LocalDateTime转String 年月日,时分秒,24小时制
*/
public static String LocalDateTime24ToString() {
LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter fmt24 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS");
String dateStr24 = dateTime.format(fmt24);
return dateStr24;
}
/**
* LocalDateTime转String 年月日,时分秒,12小时制,上午/下午
*/
public static String LocalDateTimeToString() {
LocalDateTime dateTime = LocalDateTime.now();
DateTimeFormatter fmt12 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss:SSS a");
String dateStr12 = dateTime.format(fmt12);
return dateStr12;
}
public static void main(String[] args) {
System.out.println(LocalDateTime12ToString());
System.out.println(LocalDateTime24ToString());
System.out.println(LocalDateTimeToString());
}
}