溫馨提示×

溫馨提示×

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

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

java8中時(shí)間API怎么用

發(fā)布時(shí)間:2021-11-24 17:42:04 來源:億速云 閱讀:145 作者:小新 欄目:大數(shù)據(jù)

這篇文章給大家分享的是有關(guān)java8中時(shí)間API怎么用的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

 

為什么需要在Java8中引入新的日期和時(shí)間庫?

  1. 在java1.0中,對時(shí)間和日期的支持只能依賴 java.util.date 類,但這個(gè)類無法表示日期,只能以毫秒的精度表示時(shí)間,易用性也較低。
Date date = new Date(114,2,18);
//打印結(jié)果
Tue Mar 18 00:00:00 CST 2014
 
  1. 在java1.1中,同時(shí)存在Date和Calendar類,增加了程序員的選擇困惑,并且月份是從0開始
  2. DateFormate類只支持Date類
 

LocalDate:提供簡單的日期,不包含時(shí)間信息

//創(chuàng)建一個(gè)不可變的日期對象
LocalDate date = LocalDate.now(); //返回當(dāng)前日期
LocalDate date = LocalDate.of(2014,3,18); //返回一個(gè)指定日期
LocalDate date = LocalDate.parse("2014-03-18"); //解析字符串,生成一個(gè)LocalDate對象
...

//獲取日期時(shí)間的方法
int year = date.getYear(); //獲取年
getDayOfMonth(); //獲取月中的日
getMonth(); //獲取月份
getDayOfWeek(); //獲取星期
lengthOfMonth(); //獲取月份的天數(shù)
isLeapYear(); //是否是周年
...

//操作LocalDate方法(一部分)
withYear(int year); //設(shè)置年
withDayOfMonth(int day); //設(shè)置日
with(ChronoFiled.MONTH_OF_YEAR,int month); //設(shè)置月份
plusWeek(int week); //添加周數(shù)
minusYears(int year); //減去year年
plus(int month,ChronoUnit.MONTHS); //修改月份
...

//比較的方法
isEqual(); //是否相等
isBefore(); //是否先于
isAfter(); //是否后于
   

LocalTime:提供簡單的時(shí)間,不包含日期信息

//創(chuàng)建一個(gè)時(shí)間對象
LocalTime time = LocalTime.now(); //當(dāng)前時(shí)間
LocalTime time = LocalTime.of(13,23,46); //自定義時(shí)間
LocalTime time = LocalTime.parse("13:23:46"); //解析時(shí)間
...

//獲取時(shí)間的方法
getHour(); //獲取小時(shí)
getMinute(); //分
getSecond(); //秒
...

//操作時(shí)間的方法
plusHour(); //小時(shí)
plusMinute(); //操作分鐘
plusSecond(); //秒
...
//比較的方法
isEqual(); //是否相等
isBefore(); //是否先于
isAfter(); //是否后于
``
   

LocalDateTime:整合了LocalDate和LocalTime

//創(chuàng)建日期時(shí)間對象
LocalDateTime dateTime = LocalDateTime.now(); //當(dāng)前啊日期時(shí)間
LocalDateTime dateTime = LocalDateTime.of(LocalDate.now,LocalTime.now); //指定日期時(shí)間
LocalDateTime dateTime = LocalDateTime.parse("2018-08-08 08:08:08"); //解析時(shí)間

//獲取日期時(shí)間的方法
getYear(); //獲取年
getDayOfMonth(); //獲取月中的日
getMonth(); //獲取月份
getDayOfWeek(); //獲取星期
getHour(); //獲取小時(shí)
getMinute(); //分
getSecond(); //秒
...

//操作日期時(shí)間的方法
withYear(int year); //設(shè)置年
withDayOfMonth(int day); //設(shè)置日
with(ChronoFiled.MONTH_OF_YEAR,int month); //設(shè)置月份
plusHour(); //小時(shí)
plusMinute(); //操作分鐘
plusSecond(); //秒
...
//比較的方法
isEqual(); //是否相等
isBefore(); //是否先于
isAfter(); //是否后于
``
   

Duration:用于計(jì)算兩個(gè)LocalTime或兩個(gè)LocalDateTime之間的時(shí)間差; Peroid用于計(jì)算兩個(gè)LocalDate之間的差值

Duration duration = Duration.between(LocalTime.of(12,12,12),LocalTime.now());
long second = duration.getSeconds(); //時(shí)間差
Peroid peroid = Peroid.between(LocalDate.now(),LocalDate.now());
int month = peroid.getMonth(); //getDay(),getYear() 時(shí)間差值
   

時(shí)間戳:Instance

Instant now = Instant.now();
   

感謝各位的閱讀!關(guān)于“java8中時(shí)間API怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

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

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

AI