//------------------------------LocalDateTime总结------------------------------------------------- public static void main(String[] args) { //------------------------------【获取当前时间】--------------------------------------------------- LocalDateTime nowTime = LocalDateTime.now(); //结果:2021-02-20T09:45:44.527 System.out.println(nowTime); //------------------------------【获取年月日】----------------------------------------------------- //【方法1】 String a = nowTime.format(DateTimeFormatter.ISO_DATE); //结果:2021-02-20 System.out.println(a); //【方法2】 String b = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); //结果:2021-02-20 System.out.println(b); //------------------------------【获取时分秒】----------------------------------------------------- String c = nowTime.format(DateTimeFormatter.ofPattern("HH:mm:ss")); //结果:09:45:44 System.out.println(c); //------------------------------【获取年月日时分秒毫秒】-------------------------------------------- String d = nowTime.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS")); //结果:2021-02-20 09:45:44:527 System.out.println(d); //------------------------------【获取秒数】------------------------------------------------------- Long second = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")); //结果:1613785755 System.out.println(second); //------------------------------【获取毫秒数】----------------------------------------------------- Long milliSecond = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli(); //结果:1613785815633 System.out.println(milliSecond); //------------------------------【毫秒转LocalDateTime】-------------------------------------------- Long longTime = 1613786449976L; LocalDateTime ldt = Instant.ofEpochMilli(longTime).atZone(ZoneId.systemDefault()).toLocalDateTime(); //结果:2021-02-20T10:00:49.976 System.out.println(ldt); //------------------------------【String转LocalDateTime】------------------------------------------ String dateTimeStr = "2021-02-20 09:50:15"; DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); LocalDateTime dateTime = LocalDateTime.parse(dateTimeStr, df); //结果:2021-02-20T09:50:15 System.out.println(dateTime); //------------------------------【LocalDateTime转String】------------------------------------------ //除了下面的方法之外,上面类型转换的都可以看成是LocalDateTime转String ZoneOffset.of("+8")意思为:默认时区为东8区 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); String dateTime2 = LocalDateTime.now(ZoneOffset.of("+8")).format(formatter); //结果:2021-02-20 09:55:52 System.out.println(dateTime2); //------------------------------【LocalDateTime转Date】-------------------------------------------- Date date = new Date(); LocalDateTime localDateTime = date.toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime(); //结果:2021-02-20T09:59:14.719 System.out.println(localDateTime); //------------------------------【Date转LocalDateTime】-------------------------------------------- LocalDateTime localDateTime1 = LocalDateTime.now(); Date date1 = Date.from(localDateTime1.toInstant(ZoneOffset.of("+8"))); //结果:Sat Feb 20 10:00:49 CST 2021 System.out.println(date1); }
原文:https://www.cnblogs.com/flyinghome/p/14419428.html