המרת מחרוזת לדייט בגרובי

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

במדריך קצר זה, נלמד כיצד להמיר חוּט מייצג תאריך לממשי תַאֲרִיך חפץ בגרובי.

עם זאת, עלינו לזכור ששפה זו מהווה שיפור ב- Java. לכן, אנו עדיין יכולים להשתמש בכל שיטת Java ישנה רגילה, בנוסף לשיטות ה- Groovy החדשות.

2. שימוש פורמט תאריך

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

תבנית def = "yyyy-MM-dd" קלט def = "2019-02-28" def date = חדש SimpleDateFormat (תבנית) .parse (קלט) 

גרובי, לעומת זאת, מאפשר לנו לבצע פעולה זו ביתר קלות. זה מכיל את אותה התנהגות בתוך השיטה הסטטית של הנוחותDate.parse (פורמט מחרוזת, קלט מחרוזת):

def date = Date.parse (תבנית, קלט) 

בקיצור, שיטה זו מהווה הרחבה של ה- java.util.Date אובייקט, ובפנים הוא מייצר א java.text.DateFormatבכל קריאה, לבטיחות חוטים.

2.1. בעיות תאימות

להבהרה, Date.parse (פורמט מחרוזת, קלט מחרוזת) השיטה זמינה מאז גרסה 1.5.7 של גרובי.

גרסה 2.4.1 הציגה גרסה המקבלת פרמטר שלישי המציין אזור זמן: Date.parse (פורמט מחרוזת, קלט מחרוזת, אזור TimeZone).

עם זאת, החל מ -2.5.0 חל שינוי שבור ושיפורים אלה אינם נשלחים יותר גרובי-הכל.

אז, בהמשך, הם צריכים להיכלל כמודול נפרד בשם groovy-dateutil:

 org.codehaus.groovy groovy-dateutil 2.5.6 

יש גם גרסה 3.0.0, אך כרגע היא נמצאת בשלב האלפא.

3. שימוש ב- JSR-310 LocalDate

מאז גרסה 8 ג'אווה הציגה מערך כלים חדש לגמרי לטיפול בתאריכים: ה- Date / Time API.

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

בואו נראה איך לנצל את java.time.LocalDate יכולות ניתוח מ- Groovy:

def date = LocalDate.parse (קלט, תבנית) 

4. מסקנה

ראינו כיצד להפוך א חוּט לתוך תַאֲרִיך בשפה הגרובית, תוך שימת לב למוזרויות בין הגרסאות הספציפיות.

כמו תמיד, קוד המקור ובדיקות היחידות זמינות ב- GitHub.


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