עבודה עם תאריכים בקוטלין

1. הקדמה

במדריך מהיר זה נלמד על עבודה עם תאריכים בקוטלין.

נבדוק תַאֲרִיך-פעולות קשורות כגון יצירה, עיצוב ומניפולציה של תאריכים.

2. יצירת תאריך

הדרך המהירה ביותר ליצור תַאֲרִיך האובייקט משתמש LocalDateשל לְנַתֵחַ() שיטה:

var date = LocalDate.parse ("12-12-2018")

ה לְנַתֵחַ() שיטה כברירת מחדל משתמשת בפורמט התאריכים הסטנדרטי yyyy-MM-dd.

אנו יכולים גם להעביר פורמט משלנו כדי לנתח מחרוזת תאריך:

var formatter = DateTimeFormatter.ofPattern ("dd-MM-yyyy") var date = LocalDate.parse ("31-12-2018", מעצב)

ואם אנו זקוקים לשליטה רבה יותר אנו יכולים ציין במפורש את שָׁנָה, יְוֹם ו חוֹדֶשׁ באמצעות LocalDateשל שֶׁל() שיטה:

תאריך var = LocalDate.of (2018, 12, 31)

3. עיצוב תאריך

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

דרך ברירת המחדל לעיצוב תאריך באמצעות תבנית ברירת מחדל ב קוטלין הוא קורא ל שיטת toString ().

בואו ניצור תאריך

var date = LocalDate.parse ("2018-12-31")

ועיין בפלט ברירת המחדל של השימוש toString:

assertThat (date.toString ()). isEqualTo ("2018-12-31")

זה נראה קריא כפורמט הפלט yyyy-MM-dd, אך שוב, ייתכן שנצטרך לעצב את התאריך לפורמטים מותאמים אישית בהתאם למקרי השימוש שלנו.

כדי לעצב את התאריך שלנו לפורמטים שונים שבהם אנו יכולים להשתמש LocalDateשל פוּרמָט() שיטה ולספק לו את הפורמט המותאם אישית שלנו באמצעות DateTimeFormatter:

var formatter = DateTimeFormatter.ofPattern ("dd-MMMM-yyyy") var formattedDate = date.format (מעצב)

זה פלט תאריך מעוצב להפליא:

assertThat (formattedDate) .isEqualTo ("31 בדצמבר 2018")

4. חילוץ רכיבי תאריך

LocalDate מספק שיטות רבות בהן אנו יכולים להשתמש כדי לחלץ רכיבים ספציפיים תַאֲרִיך.

חלקם די טריוויאליים כגון חילוץ השנה, החודש או היום תַאֲרִיך:

var date = LocalDate.parse ("2018-12-31") assertThat (date.year) .isEqualTo (2018) assertThat (date.month) .isEqualTo (Month.DECEMBER) assertThat (date.dayOfMonth) .isEqualTo (31)

אנחנו יכולים גם לחלץ מידע אחר כמו era, דayOfTheWeek או דayOfTheMonth:

assertThat (date.era.toString ()). isEqualTo ("CE") assertThat (date.dayOfWeek) .isEqualTo (DayOfWeek.MONDAY) assertThat (date.dayOfYear) .isEqualTo (365)

5. עבודה עם פרק זמן

לבסוף, בואו נבדוק את העבודה עם תקופות בקוטלין.

תקופות מייצגות מרחק על ציר הזמן. אנחנו יכולים ליצור פרק זמן באמצעות פרק זמןשיטת המפעל בכיתה:

תקופת var = Period.of (1, 2, 3)

זה יוצר א פרק זמן של שנה, חודשיים ושלושה ימים.

כדי להוסיף זאת פרק זמן לתאריך קיים אנו משתמשים ב- LocalDateשל ועוד() שיטה:

var date = LocalDate.of (2018, 6, 25) var modifiedDate = date.plus (תקופה)

זה יוסיף שנה, חודשיים ושלושה ימים לתאריך הנתון וייצור את התאריך שהשתנה:

assertThat (modifiedDate) .isEqualTo ("2018-08-28")

באופן דומה, אנו יכולים לחסר א פרק זמן מתאריך מסוים:

var date = LocalDate.of (2018, 6, 25) var modifiedDate = date.minus (תקופה)

וכצפוי, התאריך שהשתנה יהיה:

assertThat (modifiedDate) .isEqualTo ("22/04/2017")

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

נניח שיש לנו שני תאריכים, בהפרש של 6 חודשים בדיוק זה מזה:

var date1 = LocalDate.parse ("2018-06-25") var date2 = LocalDate.parse ("25-12-2018")

כעת אנו יכולים לייצג את המרחק בין שני התאריכים הללו באמצעות תקופות בֵּין שיטה:

period period = Period.between (date1, date2)

ה פרק זמן משתנה יפיק את הדברים הבאים:

assertThat (period.toString ()). isEqualTo ("P6M")

פ מייצג פרק זמן ו 6 מיליון פירושו 6 חודשים.

6. מסקנה

במאמר זה למדנו את היסודות של אופן העבודה עם תאריכים בקוטלין.

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

יתר על כן, בחנו חילוץ רכיבים מ תַאֲרִיך אובייקטים ולבסוף איך לעבוד איתם תקופות בקוטלין.

הקוד המשמש במדריך זה זמין ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found