激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - Java中使用LocalDate根據日期來計算年齡的實現方法

Java中使用LocalDate根據日期來計算年齡的實現方法

2021-03-16 11:09程序原養成記 JAVA教程

這篇文章主要介紹了Java中使用LocalDate根據日期來計算年齡的實現方法,需要的朋友可以參考下

Java中和日期直接相關的類有很多,平時最常用到的就是java.util package下面的Date和Calendar,需要用到格式的時候還會用到java.text.SimpleDateFormat

首先吐槽一下,Date和Calendar實際用起來還是有一些別扭的,剛開始用的時候不熟悉,老是分不清Date和Calendar類的具體用法和區別。

而且Calendar類的set方法來設置日期時又有一些反人類,設置月份的時候總是要腦補一下減去1,比如要設置為2018年1月6日就要設置成2018,0,6,因為在這里一月是用0來表示的:

?
1
2
Calendar cal = Calendar.getInstance();
cal.set(2018, 0, 8);

具體的原因可以看這里的回答:StackOverflow: Why is January month 0 in Java Calendar?

反正我是不太看得下去。。

前幾天有一個簡單的需求,就是根據某兩個日期來計算出年齡。上網查了一下,直接拋棄了難用的Date和Calendar類,直接用java.time.LocalDate來做。話不多說直接上代碼:

?
1
2
3
4
5
6
7
8
9
10
11
import java.time.LocalDate;
 
public class TestLocalDate {
  public static void main(String[] args) {
    LocalDate date1 = LocalDate.of(2018, 1, 6);
    LocalDate date2 = LocalDate.of(1991, 1, 3);
    int age = date2.until(date1).getYears();
 
    System.out.println("You're " + age + " years old.");
  }
}

輸出結果:

?
1
You're 27 years old.

拋棄了略顯復雜令人頭大的Date和Calendar類之間的互相轉換調用,代碼讀起來也特別清晰,是不是很爽!

java.time是Java 8中新引入的一個日期時間庫,下面的這些方法都是java.time包里面的。

下面來看一下這段代碼是怎么來用簡單清爽的方式計算時間差的:

首先,LocalDate是一個immutable class(不可變類),所以和String類一樣,不需要new一個新的對象才可以使用(?)

然后是LocalDate類用于設定日期的of方法:

?
1
2
public static LocalDate of(int year, Month month, int dayOfMonth)
public static LocalDate of(int year, int month, int dayOfMonth)

of一共有三個重載的方法,這里舉出其中的兩個。第一個的Month類是一個枚舉類型,包含了月份的英文名稱,如JANUARY, NOVEMBER等

第二個就是再正常不過的設置年月日,好消息是這里的month是從1開始的,也就是說再也不用手動減去1了!!!

下面是LocalDate類用于比較日期的until方法:

?
1
public Period until(ChronoLocalDate endDateExclusive)

這個方法返回的是一個Period類型的對象。

Period代表的是形如“2年,3個月,4天”的一段時間間隔。接下來調用的getYears方法就是屬于Period類的。

最后再來看一下Period類的一些獲取時間間隔的方法:

?
1
2
3
public int getYears()
public int getMonths()
public int getDays()

這三個方法分別用于獲取時間間隔的年、月和日。對,就是這么簡單。

總結

以上所述是小編給大家介紹的Java中使用LocalDate根據日期來計算年齡的實現方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!

原文鏈接:http://www.cnblogs.com/limuyuan/p/java-use-localdate-calculate-age.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 伊人亚洲精品 | 高清在线观看av | 欧美日韩视频在线播放 | 久久久噜噜噜久久熟有声小说 | 欧美在线成人影院 | 亚洲欧美日韩精品久久 | 一级黄色大片在线观看 | 国产成人在线综合 | 在线1区| 欧美特级黄色 | av懂色| 亚洲精品在线观看免费 | 欧美一级精品片在线看 | 久久99国产精品免费网站 | 午夜精品久久久久久毛片 | 成人午夜免费国产 | 91精品国产综合久久青草 | av成人一区二区 | 精品久久www | 成人性视频欧美一区二区三区 | 国产成人在线一区 | 久久国产精品二国产精品中国洋人 | 久久亚洲精品国产一区 | 久久人人97超碰国产公开结果 | 九九精品视频观看 | 国产日韩一区二区三区在线观看 | 钻石午夜影院 | 中文字幕一区2区 | 成人在线观看免费 | 国产精品久久久久久久久久大牛 | 特级西西444www大精品视频免费看 | 久久精品国产清自在天天线 | 国产一区二区三区四区波多野结衣 | 久久国产秒 | 成人精品视频在线 | 久久成年网站 | 嫩草影院在线观看网站成人 | 欧美日韩亚洲在线观看 | 另类亚洲孕妇分娩网址 | 色天天综合网 | 久久在线 |