Dátummal dolgozik Kotlinban

1. Bemutatkozás

Ebben a gyors bemutatóban megismerhetjük a dátumokkal való munkát Kotlinban.

Majd utánanézünk Dátum-kapcsolódó műveletek, például a dátumok létrehozása, formázása és manipulálása.

2. Dátum létrehozása

A leggyorsabb módszer a Dátum objektum használja LocalDate’S elemzés () módszer:

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

A elemzés () A módszer alapértelmezés szerint a szokásos dátumformátumot használja éééé-hh-nn.

Azt is átadhatjuk a saját formátumunknak, hogy elemezzünk egy dátum karakterláncot:

var formatter = DateTimeFormatter.ofPattern ("éééé-hh-éééé") var date = LocalDate.parse ("2018-12-31", formázó)

És ha nagyobb ellenőrzésre van szükségünk, akkor megtehetjük kifejezetten meghatározza a év, nap és hónap felhasználásával LocalDate’S nak,-nek() módszer:

var date = LocalDate.of (2018, 12, 31)

3. Dátum formázása

Ezután vizsgáljuk meg, hogyan formázhatjuk vissza a dátumobjektumokat Húrok.

A Dátum formázásának alapértelmezett módja az alapértelmezett formátum használatával Kotlin a toString () metódus.

Hozzunk létre egy dátumot

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

és nézd meg a használat alapértelmezett kimenetét Sztring:

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

Ez olvashatónak tűnik, mivel a kimeneti formátum éééé-hh-nn, de megint előfordulhat, hogy a felhasználási esettől függően szükségünk lesz a dátum egyéni formátumra történő formázására.

Dátumunk különböző formátumokra történő formázására használhatjuk LocalDate’S formátum() módszer és az általa nyújtott egyedi formátumunkat DateTimeFormatter:

var formatter = DateTimeFormatter.ofPattern ("dd-MMMM-yyyy") var formattedDate = dátum.formátum (formázó)

Ez egy szépen formázott dátumot ad ki:

assertThat (formattedDate) .isEqualTo ("2018. december 31.")

4. Dátumkomponensek kinyerése

LocalDate számos olyan módszert biztosít, amelyekből konkrét komponenseket nyerhetünk ki Dátum.

Ezek egy része meglehetősen triviális, például az év, hónap vagy nap kivonása a Dátum:

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

Más információkat is kinyerhetünk, például era, dayOfTheWeek vagy dayOfTheMonth:

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

5. Munka Időszak

Végül vizsgáljuk meg a munkát Időszakok Kotlinban.

A periódusok egy távolságot jelentenek az idővonalon. Hozhatunk létre a Időszak felhasználásával IdőszakOsztályú gyári módszer:

var period = Period.of (1, 2, 3)

Ez létrehozza a Időszak 1 év, 2 hónap és 3 nap.

Ennek hozzáadásához Időszak egy meglévő dátumig a LocalDate’S plusz() módszer:

var date = LocalDate.of (2018, 6, 25) var módosítottDate = date.plus (időszak)

Ez 1 évet, 2 hónapot és 3 napot ad hozzá az adott dátumhoz, és előállítja a módosított dátumot:

assertThat (módosítottDátum) .isEqualTo ("2019-08-28")

Hasonlóképpen kivonhatjuk a Időszak egy adott dátumtól:

var date = LocalDate.of (2018, 6, 25) var módosítottDate = date.minus (időszak)

És ahogy várható volt, a módosított dátum a következő lesz:

assertThat (módosítottDátum) .isEqualTo ("2017-04-22")

Ezenkívül használhatjuk a Periódusokat a két dátum közötti távolság képviseletére.

Tegyük fel, hogy két dátumunk van, pontosan 6 hónap különbséggel egymástól:

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

Most a Periódusok segítségével ábrázolhatjuk a két dátum közötti távolságot között módszer:

var period = Period.between (dátum1, dátum2)

A időszak változó a következőket fogja előállítani:

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

P áll Időszak és 6M 6 hónapot jelent.

6. Következtetés

Ebben a cikkben megtanultuk a Kotlinnal való Dates-szel való együttműködés alapjait.

Megvizsgáltuk, hogyan hozhatunk létre dátumpéldányokat különféle módszerekkel, és hogyan formázhatjuk a dátumobjektumokat olvasható szövegekké.

Ezenkívül megvizsgáltuk az alkatrészek kinyerését Dátum tárgyakat és végül hogyan kell velük dolgozni Időszakok Kotlinban.

Az oktatóanyagban használt kód elérhető a GitHubon.