Karakterlánc konvertálása dátumra a Groovy-ban
1. Áttekintés
Ebben a rövid bemutatóban megtanuljuk, hogyan kell átalakítani a Húr dátumot valóra ábrázolni Dátum tárgy Groovy-ban.
Nem szabad megfeledkeznünk arról, hogy ez a nyelv a Java továbbfejlesztése. Ezért továbbra is használhatunk minden egyszerű régi Java metódust, az új Groovy módszerek mellett.
2. Használata Dátum formátum
Először is, a karakterláncokat a szokásos módon Dátumokra elemezhetjük Java használatával Dátum formátum:
def minta = "éééé-hh-nn" def bevitel = "2019-02-28" def dátum = új SimpleDateFormat (minta). parse (input)
A Groovy azonban lehetővé teszi számunkra, hogy könnyebben elvégezzük ezt a műveletet. Ugyanezt a viselkedést foglalja magában a kényelmi statikus módszeren belül isDate.parse (karakterlánc formátuma, karakterlánc bevitele):
def date = Date.parse (minta, bevitel)
Röviden, ez a módszer a java.util.Dátum objektumot, és belsőleg példányosítja a java.text.DateFormatminden behíváskor a menetbiztonság érdekében.
2.1. Kompatibilitási kérdések
Hogy tisztázzuk, a Date.parse (karakterlánc formátuma, karakterlánc bevitele) módszer a Groovy 1.5.7 verziója óta elérhető.
A 2.4.1-es verzió egy olyan változatot vezetett be, amely elfogadja az időzónát jelző harmadik paramétert: Date.parse (karakterlánc formátum, karakterlánc bevitel, időzóna zóna).
A 2.5.0-tól kezdődően azonban áttörő változás történt, és ezeket a fejlesztéseket már nem szállítjuk nagyszerű.
Tehát a továbbiakban külön modulként kell megnevezni őket groovy-dateutil:
org.codehaus.groovy groovy-dateutil 2.5.6
Van 3.0.0 verzió is, de jelenleg az Alpha szakaszban van.
3. A JSR-310 használata LocalDate
A 8. verzió óta a Java egy teljesen új eszközkészletet vezetett be a dátumok kezelésére: a Date / Time API-t.
Ezek az API-k több okból is jobbak és előnyben kell részesíteni a régiekkel szemben.
Nézzük meg, hogyan lehet kihasználni a java.time.LocalDate a Groovy elemzési képességei:
def date = LocalDate.parse (bevitel, minta)
4. Következtetés
Láttuk, hogyan lehet átalakítani a Húr ba be Dátum a Groovy nyelvben, figyelve az egyes változatok közötti sajátosságokra.
Mint mindig, a forráskód és az egységtesztek is elérhetők a GitHubon.