חשב את הגיל ב- Java

1. סקירה כללית

במדריך מהיר זה נראה כיצד לחשב את הגיל באמצעות ספריות Java 8, Java 7 ו- Joda-Time.

בכל המקרים ניקח את תאריך הלידה והתאריך הנוכחי כקלט ונחזיר את הגיל המחושב בשנים.

2. שימוש ב- Java 8

Java 8 הציגה ממשק API חדש של Date-Time לעבודה עם תאריכים ושעות, בעיקר מבוסס על ספריית Joda-Time.

ב- Java 8 נוכל להשתמש java.time.LocalDate לתאריך הלידה שלנו ולתאריך הנוכחי, ואז השתמש פרק זמן לחישוב ההפרש שלהם בשנים:

public int calcinAge (LocalDate birthDate, LocalDate currentDate) {// לאמת תשומות ... Return Period.between (birthDate, currentDate) .getYears (); }

LocalDate מועיל כאן מכיוון שמייצג רק תאריך, בהשוואה ל- Java תַאֲרִיך הכיתה, המייצגת תאריך ושעה. LocalDate.now () יכול לתת לנו את התאריך הנוכחי.

וגם פרק זמן מועיל כשאנחנו צריכים לחשוב על פרקי זמן בשנים, חודשים וימים.

אם היינו רוצים להגיע לגיל מדויק יותר, נניח בשניות, היינו רוצים להסתכל LocalDateTime ו מֶשֶׁך, בהתאמה (ואולי להחזיר א ארוך במקום זאת).

3. שימוש בג'ודה-טיים

אם Java 8 אינו אפשרות, אנחנו עדיין יכולים להשיג את אותו סוג של תוצאות מ- Joda-Time, תקן דה-פקטו לפעולות מועד בעולם לפני ה- Java 8.

עלינו להוסיף את התלות בג'ודה-טיים לפום שלנו:

 joda-time joda-time 2.10 

ואז נוכל לכתוב שיטה דומה לחישוב הגיל, הפעם באמצעות LocalDate ו שנים מג'ודה-טיים:

public int calcinAgeWithJodaTime (org.joda.time.LocalDate birthDate, org.joda.time.LocalDate currentDate) {// לאמת תשומות ... שנים גיל = שנים.יארסבינט (birthDate, currentDate); age return.getYears (); }

4. שימוש ב- Java 7

ללא API ייעודי בג'אווה 7, נותר לנו לגלגל בעצמנו, ולכן יש לא מעט גישות.

כדוגמה אחת אנו יכולים להשתמש java.util.Date:

public int calcinAgeWithJava7 (תאריך לידה תאריך, תאריך הנוכחי תאריך) {// לאמת תשומות ... DateFormat מעצב = חדש SimpleDateFormat ("yyyyMMdd"); int d1 = Integer.parseInt (formatter.format (birthDate)); int d2 = Integer.parseInt (formatter.format (currentDate)); גיל int = (d2 - d1) / 10000; גיל החזרה; }

הנה, אנו ממירים את הנתון תאריך לידה ו דייט נוכחי אובייקטים למספרים שלמים ולמצוא את ההבדל ביניהם, ו- כל עוד אנחנו עדיין לא ב- Java 7 מזה 8000 שנה, גישה זו צריכה לעבוד עד אז.

5. מסקנה

במאמר זה, הראינו כיצד לחשב את הגיל בקלות באמצעות ספריות Java 8, Java 7 ו- Joda-Time.

למידע נוסף על התמיכה בזמן הנתונים של Java 8, עיין במבוא Java 8 למועד.

וכמו תמיד, ניתן למצוא את הקוד השלם עבור קטעי טקסט אלה ב- GitHub.