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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

构造一个日期类java_Java8 新日期时间类(1)

發布時間:2025/7/14 java 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 构造一个日期类java_Java8 新日期时间类(1) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java.time 包的優勢

使用Java8,新的日期時間API引入覆蓋舊的日期時間API的以下缺點。

非線程安全 - java.util.Date不是線程安全的,因此開發者必須在使用日期處理并發性問題。新的日期時間API是不可變的,并且沒有setter方法。? 設計不佳 - 默認的開始日期從1900年,開始每月從1天從0開始,所以沒有統一。不直接使用方法操作日期。新的API提供了這樣操作實用方法。? 困難的時區處理 - 開發人員必須編寫大量的代碼來處理時區的問題。新的API設計開發保持特定領域設計。

JAVA8引入了 java.time 包 - 下一個新的日期時間API。以下是一些在java.time程序包引入重要的類。

本地 - 簡化日期時間API,沒有時間處理區的復雜性。? 時區 - 專業的日期時間API來處理各種時區。

java.time 本地日期時間類

java.time處理本地日期時間的主要類為

LocalDateTime,LocalDate,LocalTime;

LocalDateTime可以處理日期時間,可以看做作為LocalDate,LocalTime的復合; LocalDate主要處理日期(year,month,day,week); LocalTime主要處理時間(h,m,s)

LocalDateTime

靜態構造方式摘要 static LocalDateTime? static LocalDateTime? ? ?static LocalDateTime static LocalDateTime now() of(int year,int month,int dayofMonth,int hour,int minute[,int second[,int nanoSeconds]] ) parse(CharSequence text) ofEpochSecond(long epochSeconds,int nanoSeconds,ZoneOffset offset)? 使用當前時間構造一個LocalDateTime對象 使用指定的數值創建一個LocalDateTime對象 (year,month,day從1開始,hour,min,second從0開始)? 使用形如 “2017-2-28T13:29:30”的格式創建對象 使用紀元流逝秒創建對象,起點為 1970-1-1T00:00:00,offset一般使用ZoneOffset.UTF 成員方法摘要 +LocalDate +LocalTime +ZoneDateTime? +LocalDateTime +int +LocalDateTime? ?+String? toLocalDate() toLocalTime() atZone()? with(TemporalField field,long value) get(TemporalField field) plus(TemporalAmount amoutToAdd) plus(long amountToAdd,TemporaUnit unit)? toString() 獲取該對象的 LocalDate對象 獲取該對象的 LocalTime對象 獲取該對象的 ZoneDateTime對象? 修改LocalDateTime的時間數值參數(可以鏈式調用) 獲取LocalDateTime的時間數值參數 對LocalDateTime的某個時間參數值的流逝量? ?字符串格式:2017-2-28T13:29:30

注:localDateTime的 with,get,plus 方法,都有單項filed的實現? with[Filed](int filed),如 withDayOfMonth(int days),主要Field值如下:

with,get:? ?year,month,dayOfMonth,hour,minute,second,dayOfYear; plus :? ? years,months,weeks,days,hours,minutes,seconds,nanos;

LocalDate

靜態構造方式摘要 static LocalDate? static LocalDate? ? static LocalDate static LocalDate static LocalDate now() of(int year,int month[,int dayofMonth] )? parse(CharSequence text) ofEpochDay(long epochDay) ofYearDay(int year,int dayOfyear) 使用當前時間構造一個LocalDate對象 使用指定的數值創建一個LocalDate對象? ?使用形如 “2017-2-28”的格式創建對象 使用紀元流逝天數創建對象 指定年份,使用一年的總天數創建對象 成員方法摘要 +LocalDateTime +LocalDateTime +ZoneDateTime? +LocalDateTime +int +LocalDateTime? ?+String? asStartOfDay() atTime(int hour,int minute[,int second]) atZone()? with(TemporalField field,long value) get(TemporalField field) plus(TemporalAmount amoutToAdd) plus(long amountToAdd,TemporaUnit unit)? toString() 獲取該對象的 LocalDateTime對象(time值歸零) 使用指定time值,創建LocalDateTime對象 獲取該對象的 ZoneDateTime對象? 修改LocalDate的時間數值參數(可以鏈式調用) 獲取LocalDate的時間數值參數 對LocalDate的某個時間參數值的流逝量? ?字符串格式:2017-2-28

注:同LocalDateTime ,LocalDate的 with,get,plus 方法,也都有單項filed的實現? with[Filed](int filed),主要Field值如下:

with,get:? ?year,month,dayOfMonth,dayOfYear; plus :? ? years,months,weeks,days;

LocalTime

靜態構造方式摘要 static LocalTime? static LocalTime? ? static LocalTime static LocalTime static LocalTime now() of(int hour,int minute[,int dayofMonth] )? parse(CharSequence text) ofSecondOfDay(long seconds) ofNanoOfDay(long nanoSeconds) 使用當前時間構造一個LocalDate對象 使用指定的數值創建一個LocalDate對象? ?使用形如 “2017-2-28”的格式創建對象 使用指定seconds創建對象 使用指定nanoSeconds創建對象 成員方法摘要 +LocalDateTime? +LocalTime +int +LocalTime? ?+int +int +String? atDate(LocalDate date)? with(TemporalField field,long value) get(TemporalField field) plus(TemporalAmount amoutToAdd) plus(long amountToAdd,TemporaUnit unit)? toSecondOfDay() toNanoOfDay() toString() 于一個LocalDate對象創建一個LocalDateTime對象? 修改LocalTime的時間數值參數(可以鏈式調用) 獲取LocalTime的時間數值參數 對LocalTime的某個時間參數值的流逝量? ?獲取總Second參數 獲取總Nano參數 字符串格式:10:15:00

注:同LocalDateTime ,LocalTime的 with,get,plus 方法,也都有單項filed的實現? with[Filed](int filed),主要Field值如下:

with,get:? ?hour,minute,second; plus :? ? hours,minutes,seconds,nanos;

LocalDateTime,LocalDate,LocalTime都實現了compareTo,equals方法; with,get方法中,實現 TemporalField 接口的類:java.time.temporal.ChronoField; plus方法中,實現 TemporalAmout 接口的類:java.time.Duration,java.time.Peroid

實現

TemporalUnit

接口的類:java.time.temporal.

ChronoUnit

ChronoField、

ChronoUnit常量摘要

ChronoField ChronoUnit YEAR? ? ? ? ? ? ? ? ? ? MONTH_OF_YEAR? ? ? ? DAY_OF_MONTH DAY_OF_WEEK DAY_OF_YEAR? ? ? ? ? HOUR_OF_DAY? ? ?24小時制hour HOUR_OF_AMPM? ? 12小時制hour AMPM_OF_DAY? ? ?0(AM),1(PM)? MINUTE_OF_HOUR MINUTE_OF_DAY SECOND_OF_MINUTE SECOND_OF_OF_DAY? OFFSET_SECOND? ? ?UTF流逝秒數 MILLI_OF_SECOND MILLI_OF_DAY NANO_OF_SECOND NANO_OF_DAY? FOREVER? ? ?CENTURIES? YEARS MONTHS WEEKS DAYS? HOURS MINUTES SECONDS NANOS

使用示例

import java.time.*;import java.time.temporal.ChronoField;import java.time.temporal.ChronoUnit;.....//構建LocalDateTime? ? ? ? LocalDateTime dateTime1 = LocalDateTime.now();? ? ? ? LocalDateTime dateTime2? = LocalDateTime.of(2017,1,1,0,0,0);? ? ? ? System.out.println("datetime1:"+dateTime1+"\ndatetime2:"+dateTime2);

//修改LocalDateTime數值? ? ? ? LocalDateTime dateTime3 = dateTime1.with(ChronoField.YEAR,1992).with(ChronoField.MONTH_OF_YEAR,9).with(ChronoField.DAY_OF_MONTH,16);? ? ? ? System.out.println("datetime3:"+dateTime3);

//獲取LocalDateTime數值? ? ? ? int year_dateTime3 = dateTime3.get(ChronoField.YEAR);? ? ? ? Month month_dateTime3 = dateTime3.getMonth();? ? ? ? int day_dateTime3 = dateTime3.get(ChronoField.DAY_OF_MONTH);? ? ? ? System.out.println("year:"+year_dateTime3+"\nmonth:"+month_dateTime3+"\nday:"+day_dateTime3);

//對LocalDateTime進行數值增減? ? ? ? LocalDateTime dateTime4 = dateTime3.plus(10,ChronoUnit.MONTHS).plusDays(100).plusHours(120);? ? ? ? System.out.println("datetime4:"+dateTime4);? ? ? ? System.out.println("datetime4:"+dateTime4.toEpochSecond(ZoneOffset.UTC));

//將LocalDateTime裝載到LocalDate和LocalTime? ? ? ? LocalDate date1 = dateTime4.toLocalDate();? ? ? ? LocalTime time1 = dateTime4.toLocalTime();? ? ? ? System.out.println("date1:"+date1);? ? ? ? System.out.println("time1:"+time1);

輸出結果:

datetime1:2017-02-28T19:42:09.550datetime2:2017-01-01T00:00datetime3:1992-09-16T19:42:09.550year:1992month:SEPTEMBERday:16datetime4:1993-10-29T19:42:09.550datetime4:751923729date1:1993-10-29time1:19:42:09.550

總結

以上是生活随笔為你收集整理的构造一个日期类java_Java8 新日期时间类(1)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产片免费 | 亚洲成人一区二区三区 | 国产精品99久久免费黑人人妻 | 欧美激情视频二区 | www.国产一区二区三区 | 久久97视频 | 欧美一级视频免费观看 | 污网址在线观看 | 波多野结衣一二三区 | 美女屁股眼视频免费 | 国产毛片91| 91精品在线免费观看 | 亚洲男人天堂av | 少妇一级淫片免费放播放 | 57pao国产成永久免费视频 | 亚洲成人另类 | 在线观看久草 | 亚洲综合网av| 免费在线观看不卡av | 中国黄色小视频 | 色啊色 | 欧美亚州国产 | 欧美在线视频网站 | 九九热视频在线观看 | 亚洲第一激情 | 一区二区三区毛片 | 高潮av在线| 午夜av片 | 国产精品丝袜视频无码一区69 | 性盈盈影院中文字幕 | 在线观看特色大片免费网站 | 深夜福利成人 | 伊人网站| 激情小说综合 | 国产精品久久久久久一区二区三区 | 色伊伊 | 又粗又猛又爽又黄少妇视频网站 | chinese麻豆新拍video | 国产精品黄色大片 | 又黄又骚又爽 | 日日操网站 | 国产人妻精品久久久久野外 | 婷婷午夜精品久久久久久性色av | 狠狠狠狠狠干 | 亚洲国产精品影院 | 国产精品福利一区二区三区 | 黄色网址大全免费 | 97伦伦午夜电影理伦片 | 蜜桃成人av | 国产美女视频一区二区 | 强行挺进皇后紧窄湿润小说 | 国产强被迫伦姧在线观看无码 | 精品爆乳一区二区三区无码av | 伊人999| 91看片黄 | 精品二三区 | 亚洲欧美日韩成人在线 | 色哟哟在线观看 | 日韩性生交大片免费看 | 人人爽人人爽人人 | 无码人妻精品一区二区蜜桃视频 | 欧美日韩一区二区三区在线观看 | 伊人春色网 | 女人18片毛片60分钟 | av小说免费在线观看 | 久久久久久天堂 | 中国一级特黄毛片 | 国产精品98 | 久久精品噜噜噜成人88aⅴ | 91丨九色丨黑人外教 | 操碰视频| 天天摸日日摸狠狠添 | 四虎影院www| 成人毛片观看 | 波多野结衣电车痴汉 | 欧美美女在线观看 | 超碰个人在线 | 国产午夜啪啪 | 69天堂| 成人免费视 | 欧美韩一区 | 欧美少妇bbw | 午夜影院在线观看视频 | 中文字幕第九页 | 精品国产不卡 | 内射一区二区 | 久草福利免费 | 182在线视频 | 校园激情av| 一级片视频免费看 | 日本成人综合 | 成人免费毛片aaaaaa片 | 亚洲午夜精品 | 亚洲久久久久久 | 男生裸体视频网站 | 欧美日韩一区二区在线 | 亚洲天堂99| 中文不卡av| 久久天天综合 |