获取当前时间
@Test
public void localDateTime() {
LocalDateTime localDateTime = LocalDateTime.now();
// 2020-2-18 17:39:43
System.out.println(localDateTime.getYear() + "-" +
localDateTime.getMonthValue() + "-" +
localDateTime.getDayOfMonth() + " " +
localDateTime.getHour() + ":" +
localDateTime.getMinute() + ":" +
localDateTime.getSecond());
}
初始化时间
@Test
public void localDateAndLocalTime(){
LocalDate localDate = LocalDate.of(2020, 1, 20);
LocalTime localTime = LocalTime.of(11, 22, 33);
LocalDateTime localDateTime = LocalDateTime.of(localDate,localTime);
System.out.println(localDateTime);
}
字符串和LocalDateTime互转
@Test
public void string2LocalDateTime(){
String str = "2020-02-18 16:59:11";
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime1 = LocalDateTime.parse(str,dateTimeFormatter);
}
@Test
public void localDateTime2String(){
LocalDateTime localDateTime = LocalDateTime.now();
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String str1 = localDateTime.format(dateTimeFormatter);
String str2 = dateTimeFormatter.format(localDateTime);
}
时间戳和LocalDateTime互转,借助Instant
@Test
public void timestamp2LocalDateTime(){
long timestamp = System.currentTimeMillis();
Instant instant = Instant.ofEpochMilli(timestamp);
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
}
@Test
public void localDateTime2Timestamp(){
LocalDateTime localDateTime = LocalDateTime.now();
long timestamp = localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli();
}
Date和LocalDateTime互转
@Test
public void date2LocalDateTime(){
Date date = new Date();
Instant instant = date.toInstant();
LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
}
@Test
public void localDateTime2Date(){
LocalDateTime localDateTime = LocalDateTime.now();
Instant instant = localDateTime.atZone(ZoneId.systemDefault()).toInstant();
Date date = Date.from(instant);
}