最近一直使用LocalDateTime,老是忘记怎么转换,仅此记录一下
1import java.time.Instant; 2import java.time.LocalDateTime; 3import java.time.LocalTime; 4import java.time.ZoneId; 5import java.time.format.DateTimeFormatter; 6import java.util.Date; 7 8public class Test { 9 10 public static void main(String[] args) { 11 LocalDateTime now = LocalDateTime.now(); 12 System.out.println("当前时间: "+now); 13 14 //时间格式 15 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); 16 System.out.println("formate: "+ now.format(formatter)); 17 18 //当天的零点 19 System.out.println("当天的零点: "+LocalDateTime.of(now.toLocalDate(), LocalTime.MIN)); 20 21 //当天的最后时间 22 System.out.println("当天的最后时间: "+LocalDateTime.of(now.toLocalDate(), LocalTime.MAX)); 23 24 //最近的五分钟点位 25 Integer minute = now.getMinute(); 26 minute = minute/5*5; 27 System.out.println("最近的五分钟点位: "+LocalDateTime.of(now.getYear(), now.getMonth(), now.getDayOfMonth(), now.getHour(), minute, 0)); 28 29 //Date转为LocalDateTime 30 Date date = new Date(); 31 Instant instant = date.toInstant(); 32 ZoneId zoneId = ZoneId.systemDefault(); 33 System.out.println("Date转为LocalDateTime: "+instant.atZone(zoneId).toLocalDateTime()); 34 } 35 36}
