成人视屏在线观看-国产99精品-国产精品1区2区-欧美一级在线观看-国产一区二区日韩-色九九九

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Java 日期時(shí)間工具包?java.time的使用

瀏覽:6日期:2022-08-13 17:22:06

從JDK8開(kāi)始,Java 提供了新的日期時(shí)間處理方法用來(lái)代替舊的日期類(lèi)(Date)。本章主要講它們的用法以及和舊日期類(lèi)互轉(zhuǎn)。

日期和時(shí)間

Java 新的日期工具類(lèi)在 java.time 包及子包中 ,日期類(lèi)主要有 LocalDateTime、LocalDate、LocalTime ,這三個(gè)API類(lèi)很相似,以下是常用API及說(shuō)明。

now()

靜態(tài)方法,獲取當(dāng)前時(shí)間日期。示例:LocalDateTime.now()

of()

靜態(tài)方法,指定日期時(shí)間生成LoalDateTime。示例:LocalDateTime.of(2020, 2, 9, 8, 0, 0)。如果是LocalDate,則只能指定年月日。如果是LocalTime則只能指定時(shí)分秒。

plus()

在當(dāng)前時(shí)間的基礎(chǔ)上增加時(shí)間并返回新的LocalDateTime,不會(huì)改變?cè)瓉?lái)時(shí)間。一般使用以下方法處理更簡(jiǎn)單:

方法 說(shuō)明 備注 plusYears(1) 增加1年 LocalTime無(wú)此方法 plusMonths(1) 增加1個(gè)月 LocalTime無(wú)此方法 plusWeeks(1) 增加1周 LocalTime無(wú)此方法 plusDays(1) 增加1天 LocalTime無(wú)此方法 plusHours(1) 增加1小時(shí) LocalDate無(wú)此方法 plusMinutes(1) 增加1分鐘 LocalDate無(wú)此方法 plusSeconds(1) 增加1秒 LocalDate無(wú)此方法

minus()

在當(dāng)前時(shí)間的基礎(chǔ)上減去時(shí)間并返回新的LocalDateTime,不會(huì)改變?cè)瓉?lái)時(shí)間。一般使用以下方法處理更簡(jiǎn)單:

方法 說(shuō)明 備注 minusYears(1) 減少1年 LocalTime無(wú)此方法 minusMonths(1) 減少1個(gè)月 LocalTime無(wú)此方法 minusWeeks(1) 減少1周 LocalTime無(wú)此方法 minusDays(1) 減少1天 LocalTime無(wú)此方法 minusHours(1) 減少1小時(shí) LocalDate無(wú)此方法 minusMinutes(1) 減少1分鐘 LocalDate無(wú)此方法 minusSeconds(1) 減少1秒 LocalDate無(wú)此方法

從上面幾個(gè)示例可以看到這三個(gè)類(lèi)的區(qū)別,LocalDate不能處理時(shí)間,LocalTime不能處理日期,LocalDateTime是LocalDate和LocalTime的集合。

獲取從1970-01-01 00:00:00到當(dāng)前對(duì)象時(shí)間的毫秒數(shù):

LocalDateTime.now().toInstant(ZoneOffset.of('+8')).toEpochMilli();

如果是LocalDate或LocaTime需要轉(zhuǎn)換成LocalDateTime對(duì)象,再獲取毫秒數(shù)

LocalDate轉(zhuǎn)LocalDateTime

// atTime()可以提定時(shí)間(時(shí),分,秒),也可以傳LocalTime對(duì)象LocalDate.now().atTime(0, 0, 0);// 如果不需要指定當(dāng)天時(shí)間,使用該方法指定時(shí)分秒為都為0LocalDate.now().atStartOfDay(); LocalTime轉(zhuǎn)LocalDateTime

LocalTime.now().atDate(LocalDate.now());

atDate()傳入LocalDate對(duì)象

LocalDateTime轉(zhuǎn)LocalDate和LocalTime

// 獲得日期LocalDate date = LocalDateTime.now().toLocalDate();// 獲得時(shí)間LocalTime time = LocalDateTime.now().toLocalTime(); LocalDateTime與Date互轉(zhuǎn)

/** * LocalDateTime轉(zhuǎn)udate * @param datetime * @return */public static Date localDateTimeToUDate(LocalDateTime datetime) { ZoneId zone = ZoneId.systemDefault(); Instant instant = datetime.atZone(zone).toInstant(); Date udate = Date.from(instant); return udate;}/** * udate轉(zhuǎn)LocalDateTime * @param date * @return */public static LocalDateTime uDateToLocalDateTime(Date date) { Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zone); return localDateTime;}時(shí)區(qū)

如果系統(tǒng)有境外用戶,可能需要針對(duì)各地區(qū)不同時(shí)區(qū)處理。Java中使用的是格林時(shí)間(UTC),我們可以使用 ZoneOffset 設(shè)置偏移位置。

// ZoneOffset.of('+8') 等價(jià) ZoneOffset.ofHours(8)LocalDateTime.now().toInstant(ZoneOffset.of('+8')).toEpochMilli();格式化

在舊的Date類(lèi),使用 SimpleDateFormat 格式化日期,該類(lèi)不是線程安全的。在新的日期類(lèi)中使用 DateTimeFormatter

LocalDateTime now = LocalDateTime.now();DateTimeFormatter formatter = DateTimeFormatter.ISO_DATE_TIME;log.info('-> {}', formatter.format(now));

DateTimeFormatter 定義好一些預(yù)格式化方式,以下是參照表:

Java 日期時(shí)間工具包?java.time的使用

還可以自定義格式:

DateTimeFormatter formatter = DateTimeFormatter.ofPattern('yyyy-MM-dd HH:mm:ss');// 格式化String str = formatter.format(LocalDateTime.now());// 轉(zhuǎn)成LocalDateTimeLocalDateTime datetime = LocalDateTime.parse('2021-01-01 08:00:00', formatter);

以下是Pattern表達(dá)式參照表:

Java 日期時(shí)間工具包?java.time的使用

新的時(shí)間工具雖然復(fù)雜了些,但也更加靈活。以后的開(kāi)發(fā)推薦使用新的工具包。

以上就是Java 日期時(shí)間工具包?java.time的使用的詳細(xì)內(nèi)容,更多關(guān)于java.time的使用的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: heyzo国产亚洲高清 | 欧美aaaa在线观看视频免费 | 久久综合久久美利坚合众国 | 亚洲精品自拍视频 | 日本精品高清一区二区不卡 | 欧美在线三级 | 欧美性f| 很黄很色的摸下面的视频 | 女人国产香蕉久久精品 | 亚洲欧美第一 | 美女被免费视频的网站 | 美女视频网站色 | 亚洲男人天堂网站 | 麻豆传媒一区 | 国产精品亚洲综合天堂夜夜 | 日韩毛片在线播放 | 美女视频黄色在线观看 | 欧美一区二区三区gg高清影视 | 日本www高清免费视频观看 | 欧美综合在线观看 | 亚洲久久天堂 | 国产真实一区二区三区 | 91久久精品国产亚洲 | 亚洲精品国产福利 | 国产菲菲视频在线观看 | 日韩不卡一区二区 | 在线免费看一级片 | 日日a.v拍夜夜添久久免费 | 成人欧美精品久久久久影院 | 男女视频在线观看 | 一级色黄| 欧美一区二区三区精品影视 | 国产精品视频第一区二区三区 | 亚洲国产日韩欧美一区二区三区 | 日本午夜精品 | 成人全黄三级视频在线观看 | 国产在线精品一区二区夜色 | 久久久久国产精品美女毛片 | 五月激激激综合网色播免费 | 久久国产成人福利播放 | 久久91亚洲精品中文字幕奶水 |