חילוץ שנה, חודש ויום מתאריך בג'אווה

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

במדריך קצר זה, נבחן כיצד לחלץ את ה- שָׁנָה, חוֹדֶשׁ ו יְוֹם מנתון תַאֲרִיך בג'אווה.

נבדוק כיצד לחלץ ערכים אלה באמצעות המורשת java.util.Date בכיתה וגם באמצעות ספריית זמן התאריך החדשה של Java 8.

ב- Java 8 הוצגה ספריית תאריך ושעה חדשה לגמרי ממספר סיבות טובות. מלבד יתרונות אחרים, הספרייה החדשה מספקת API טוב יותר לפעולות כגון חילוץ שָׁנָה, חוֹדֶשׁ, יְוֹם וכו 'מנתון תַאֲרִיך.

ואם אתה מחפש מאמר מפורט יותר על הספרייה החדשה למועד תאריך, עיין כאן.

2. שימוש ב- Java 7

למען נתון java.util.Date כדי לחלץ שדות בודדים כגון שָׁנָה, חוֹדֶשׁ, יְוֹם וכו 'הצעד הראשון שעלינו לעשות הוא להמיר אותו לוּחַ שָׁנָה למשל:

תאריך תאריך = // מופע התאריך לוח שנה לוח שנה = Calendar.getInstance (); calendar.setTime (תאריך);

ברגע שיש לנו לוּחַ שָׁנָה למשל, אנו יכולים להפעיל ישירות אותה לקבל שיטה וספק את השדה הספציפי שאנו רוצים לחלץ.

אנו יכולים להשתמש בקבועים הקיימים ב- לוּחַ שָׁנָה לחילוץ שדות ספציפיים.

2.1. קבל שנה

כדי לחלץ את שָׁנָה, אנחנו יכולים להפעיל לקבל על ידי מעבר שנה קלנדרית כטיעון:

calendar.get (Calendar.YEAR);

2.2. קבל חודש

באופן דומה כדי לחלץ את חוֹדֶשׁ, אנחנו יכולים להפעיל לקבל על ידי מעבר לוח שנה. חודש כטיעון:

calendar.get (Calendar.MONTH);

שים לב כי חודשים בחודש לוּחַ שָׁנָה הם צמודים לאפס; לחודש ינואר שיטה זו תחזיר 0.

2.3. קבל יום

לבסוף, כדי לחלץ את יְוֹם, אנו קוראים לקבל על ידי מעבר לוח שנה. DAY_OF_MONTH כטיעון:

calendar.get (לוח שנה.DAY_OF_MONTH);

3. שימוש ב- Java 8

החדש java.time החבילה מכילה מספר שיעורים בהם ניתן להשתמש לייצוג תַאֲרִיך.

כל כיתה שונה במידע הנוסף שהיא שומרת בנוסף ל- תַאֲרִיך.

הבסיס LocalDate רק מכיל את המידע על התאריך, ואילו LocalDateTime מכיל מידע על תאריך וכן זמן.

באופן דומה, שיעורים מתקדמים יותר כגון OffsetDateTime ו ZonedDateTime מכיל מידע נוסף על קיזוז מ UTC ומידע על אזור זמן בהתאמה.

בכל מקרה, כל הכיתות הללו תומכות בשיטות ישירות להפקת מידע על שנה, חודש ותאריך.

בואו לחקור את השיטות הללו כדי לחלץ מידע מ LocalDate שם מופע localDate.

3.1. קבל שנה

לחלץ שנה, LocalDate פשוט מספק getYear שיטה:

localDate.getYear ();

3.2. קבל חודש

באופן דומה, לחלץ חוֹדֶשׁ, אנו משתמשים getMonthValue ממשק API:

localDate.getMonthValue ();

בניגוד לוּחַ שָׁנָה, חודשים ב LocalDate באינדקס מ -1; לחודש ינואר זה יחזור 1.

3.3. קבל יום

לבסוף, כדי לחלץ יְוֹם, יש לנו getDayOfMonth שיטה:

localDate.getDayOfMonth ();

4. מסקנה

במדריך מהיר זה, בדקנו כיצד לחלץ ערכים שלמים של שָׁנָה, חוֹדֶשׁ ו יְוֹם מ תַאֲרִיך בג'אווה.

הראינו כיצד לחלץ ערכים אלה באמצעות הישן תַאֲרִיך ו לוּחַ שָׁנָה שיעורים וכן את ספריית תאריך השעה החדשה של Java8.

קוד המקור המלא של קטעי טקסט המשמשים במדריך זה זמין באתר Github.