溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

java8中LocalDateTime的作用是什么

發(fā)布時間:2021-06-21 16:58:21 來源:億速云 閱讀:332 作者:Leah 欄目:大數(shù)據(jù)

java8中LocalDateTime的作用是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

2. 關(guān)于LocalDateTime的簡單介紹

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

3. LocalDateTime的簡單日常使用

①. 與字符串互相轉(zhuǎn)換

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

//將當(dāng)前時間格式化為字符串 pattern為yyyy-MM等
LocalDateTime.now().format(DateTimeFormatter.ofPattern(pattern));
//將時間字符串轉(zhuǎn)換為LocalDateTime 
LocalDateTime.parse(dateTimeStr, DateTimeFormatter.ofPattern(pattern));
②. 獲取兩時間段相隔(天,小時...)數(shù)
Duration duration = Duration.between(startLocalDateTime,endLocalDateTime);
//獲取相隔天數(shù)
duration.toDays();
//獲取相隔小時
duration.toHours();
//獲取相隔分鐘
duration.toMinutes();
//獲取相隔秒數(shù)
uration.getSeconds()
//獲取相隔毫秒
duration.toMillis();

Period period = Period.between(startLocalDateTime.toLocalDate(),endLocalDateTime.toLocalDate());
//獲取相隔年
period.getYears();
//獲取相隔月
period.getMonths();
period.toTotalMonths();
③. 進(jìn)行時間的加減
//增加plusXX  如:增加一個月
LocalDateTime.now().plusMonths(1);
//減少minusXX 如:減少一個月
LocalDateTime.now().minusMonths(1);
④. 獲取當(dāng)月最后一天
LocalDateTime endLocalDateTime = now.with(TemporalAdjusters.lastDayOfMonth());
⑤. LocalDateTime與Date互轉(zhuǎn)
//LocalDateTime to Date
//ZoneId為時區(qū) 這里獲取系統(tǒng)默認(rèn)時區(qū)
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);

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI