Java LocalDateTime常用操作方法
Java8提供瞭新的時間接口LocalDateTime。本文主要介紹瞭Java8中LocalDateTime的一些常用操作方法。不多說,直接上代碼。欲知詳情,可以看看官網。
LocalDateTime localDateTime = LocalDateTime.now(); //時間運算,相加相減 System.out.println(localDateTime.plusYears(2)); //加2年 System.out.println(localDateTime.plusDays(2)); //加兩天 System.out.println(localDateTime.minusYears(2)); //減兩年 System.out.println(localDateTime.minusDays(2)); //減兩天 System.out.println(localDateTime.toString()); // 轉字符串 結果:2021-11-24T15:36:12.914 System.out.println(localDateTime.toLocalDate()); //獲取日期(LocalDate) 結果:2021-11-24 System.out.println(localDateTime.toLocalTime()); //獲取時間(LocalTime) 結果:15:36:12.914 System.out.println(localDateTime.getDayOfMonth()); //獲取當前時間月份的第幾天 結果:24 System.out.println(localDateTime.getDayOfWeek()); //獲取當前周的第幾天 結果:WEDNESDAY System.out.println(localDateTime.getDayOfYear()); //獲取當前時間在該年屬於第幾天 結果:328 System.out.println(localDateTime.getMonthValue()); // 獲取當前時間的月份(阿拉伯文) 結果:11 System.out.println(localDateTime.getMonth()); // 獲取當前時間的月份(英文) 結果:11 System.out.println(localDateTime.getHour()); // 獲取當前時間的小時數 結果:15 System.out.println(localDateTime.getMinute()); // 獲取當前時間的分鐘數 結果:36 //格式化輸出 DateTimeFormatter formatter = DateTimeFormatter.ofPattern("YYYY/MM/dd HH:mm:ss"); System.out.println(localDateTime.format(formatter)); // 結果:2021/11/24 15:36:12 //構造時間 LocalDateTime startTime = LocalDateTime.of(2021, 1, 1, 20, 31, 20); LocalDateTime endTime = LocalDateTime.of(2021, 1, 3, 20, 31, 20); //比較時間 System.out.println(localDateTime.isAfter(startTime)); // 結果:true System.out.println(localDateTime.isBefore(endTime)); // 結果:false //獲取毫秒數(使用Instant) System.out.println(localDateTime.atZone(ZoneId.systemDefault()).toInstant().toEpochMilli()); // 結果:1637739570129 //獲取秒數(使用Instant) System.out.println(localDateTime.atZone(ZoneId.systemDefault()).toInstant().getEpochSecond()); // 結果:1637739570 // 獲取當前時間的0點~23點 LocalDateTime beginDay = localDateTime.withHour(0).withMinute(0).withSecond(0).withNano(0); LocalDateTime endDay = localDateTime.withHour(23).withMinute(59).withSecond(59); // 獲取本月的第一天的0點0分0秒和最後一天的23點59分59秒 LocalDateTime beginMonth = localDateTime.with(TemporalAdjusters.firstDayOfMonth()).withHour(0).withMinute(0).withSecond(0); LocalDateTime endMonth = localDateTime.with(TemporalAdjusters.lastDayOfMonth()).withHour(23).withMinute(59).withSecond(59); // LocalDateTime轉Date Date date = Date.from(localDateTime.toInstant(ZoneOffset.of("+8"))); // Date轉LocalDateTime date.toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime(); // LocalDateTime獲取秒數 Long second = LocalDateTime.now().toEpochSecond(ZoneOffset.of("+8")); // LocalDateTime獲取毫秒數 Long milliSecond = LocalDateTime.now().toInstant(ZoneOffset.of("+8")).toEpochMilli();
效果如下:
v源碼地址
https://github.com/toutouge/javademosecond/tree/master/hellolearn
到此這篇關於Java LocalDateTime實用方法的文章就介紹到這瞭,更多相關Java LocalDateTime實用方法內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- 一篇文章弄懂Java8中的時間處理
- Java8的DateTimeFormatter與SimpleDateFormat的區別詳解
- Java8 Instant時間戳使用小記
- Java 8 Time Api 使用方法技巧
- 詳解Java關於JDK中時間日期的API