日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

localdate获取几个月前_关于近期使用java8中LocalDateTime的总结

發布時間:2025/3/21 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 localdate获取几个月前_关于近期使用java8中LocalDateTime的总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 前言

前不久項目codereview,發現有同事在處理日期的時候用LocalDateTime,當時還比較好奇,以前用都是用Date,雖然從開始接觸java8也有幾年時間了,但是還真不知道java8中有這么一個時間類。所以在日常開發中也玩了起來。發現的確用起來挺方便。下面就做一下整理。

2. 關于LocalDateTime的簡單介紹

Java的Date,Calendar類型使用起來并不是很方便,而且Date類(據說)有著線程不安全等諸多弊端。同時若不進行封裝,會在每次使用時特別麻煩。于是Java8推出了線程安全、簡易、高可靠的時間包。并且數據庫中也支持LocalDateTime類型,在數據存儲時候使時間變得簡單。Java8這次新推出的包括三個相關的時間類型:LocalDateTime年月日十分秒;LocalDate日期;LocalTime時間;三個包的方法都差不多。

3. LocalDateTime的簡單日常使用

①. 與字符串互相轉換

都知道以前對Date進行格式化還要借助SimpDateFormart對象。操作起來不能說麻煩,但也不是那么順手。下面貼代碼LocalDateTime與字符串操作

//將當前時間格式化為字符串 pattern為yyyy-MM等

LocalDateTime.now().format(DateTimeFormatter.ofPattern(pattern));

//將時間字符串轉換為LocalDateTime

LocalDateTime.parse(dateTimeStr, DateTimeFormatter.ofPattern(pattern));

②. 獲取兩時間段相隔(天,小時...)數

Duration duration = Duration.between(startLocalDateTime,endLocalDateTime);

//獲取相隔天數

duration.toDays();

//獲取相隔小時

duration.toHours();

//獲取相隔分鐘

duration.toMinutes();

//獲取相隔秒數

uration.getSeconds()

//獲取相隔毫秒

duration.toMillis();

Period period = Period.between(startLocalDateTime.toLocalDate(),endLocalDateTime.toLocalDate());

//獲取相隔年

period.getYears();

//獲取相隔月

period.getMonths();

period.toTotalMonths();

③. 進行時間的加減

//增加plusXX 如:增加一個月

LocalDateTime.now().plusMonths(1);

//減少minusXX 如:減少一個月

LocalDateTime.now().minusMonths(1);

④. 獲取當月最后一天

LocalDateTime endLocalDateTime = now.with(TemporalAdjusters.lastDayOfMonth());

⑤. LocalDateTime與Date互轉

//LocalDateTime to Date

//ZoneId為時區 這里獲取系統默認時區

ZoneId zone = ZoneId.systemDefault();

LocalDateTime localDateTime = LocalDateTime.now();

//Instant是一個精確到納秒的時間對象

Instant instant = localDateTime.atZone(zone).toInstant();

Date date = Date.from(instant);

//Date to LocalDateTime

Date date = new Date();

Instant instant = date.toInstant();

ZoneId zone = ZoneId.systemDefault();

LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone);

持續更新.....

總結

以上是生活随笔為你收集整理的localdate获取几个月前_关于近期使用java8中LocalDateTime的总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。