1. Pengenalan
Dalam tutorial ringkas ini, kita akan belajar tentang bekerja dengan tarikh di Kotlin.
Kami akan mencari jalan untuk tarikh- operasi yang berkaitan seperti mencipta, format dan tarikh memanipulasi.
2. Membuat Tarikh
Cara yang paling cepat untuk mewujudkan Tarikh objek menggunakan LOCALDATE 's () menghuraikan kaedah:
var date = LocalDate.parse("2018-12-12")
Kaedah parse () secara lalai menggunakan format tarikh standard yyyy-MM-dd .
Kami juga boleh meneruskan format kami sendiri untuk menguraikan rentetan tarikh:
var formatter = DateTimeFormatter.ofPattern("dd-MM-yyyy") var date = LocalDate.parse("31-12-2018", formatter)
Dan, jika kita memerlukan lebih banyak mengawal kita boleh jelas menentukan tahun , hari dan bulan menggunakan LOCALDATE 's daripada () kaedah :
var date = LocalDate.of(2018, 12, 31)
3. Memformat Tarikh
Seterusnya, mari kita lihat bagaimana kita dapat memformat objek tarikh kita kembali ke Strings .
Cara pemformatan lalai Tarikh menggunakan format lalai di Kotlin adalah menggunakan kaedah toString () .
Mari buat tarikh
var date = LocalDate.parse("2018-12-31")
dan lihat output lalai menggunakan toString :
assertThat(date.toString()).isEqualTo("2018-12-31")
Ini kelihatan mudah dibaca kerana format output adalah yyyy-MM-dd , tetapi sekali lagi, kita mungkin perlu memformat tarikh ke format tersuai bergantung pada kes penggunaan kita.
Untuk memformat tarikh kami kepada format yang berbeza kita boleh menggunakan LOCALDATE 's format () kaedah dan bekalan kepadanya format adat kami menggunakan DateTimeFormatter :
var formatter = DateTimeFormatter.ofPattern("dd-MMMM-yyyy") var formattedDate = date.format(formatter)
Ini menghasilkan tarikh yang diformat dengan baik:
assertThat(formattedDate).isEqualTo("31-December-2018")
4. Mengeluarkan Komponen Tarikh
LocalDate menyediakan banyak kaedah yang boleh kita gunakan untuk mengekstrak komponen tertentu dari Date.
Sebahagian daripadanya agak remeh seperti mengeluarkan tahun, bulan atau hari dari Tarikh :
var date = LocalDate.parse("2018-12-31") assertThat(date.year).isEqualTo(2018) assertThat(date.month).isEqualTo(Month.DECEMBER) assertThat(date.dayOfMonth).isEqualTo(31)
Kami juga boleh mengekstrak maklumat lain seperti e ra , d ayOfTheWeek atau d ayOfTheMonth :
assertThat(date.era.toString()).isEqualTo("CE") assertThat(date.dayOfWeek).isEqualTo(DayOfWeek.MONDAY) assertThat(date.dayOfYear).isEqualTo(365)
5. Bekerja Dengan Tempoh
Akhirnya, mari kita lihat bekerja dengan Period di Kotlin.
Tempoh mewakili jarak pada garis masa. Kita boleh membuat Period menggunakan kaedah kilang kelas Period :
var period = Period.of(1, 2, 3)
Ini mewujudkan Tempoh 1 tahun, 2 bulan dan 3 hari.
Untuk menambahnya Tempoh setakat yang sedia ada, kita menggunakan LOCALDATE 's plus () kaedah:
var date = LocalDate.of(2018, 6, 25) var modifiedDate = date.plus(period)
Ini akan menambah 1 tahun, 2 bulan dan 3 hari pada tarikh tertentu dan menghasilkan tarikh yang diubah:
assertThat(modifiedDate).isEqualTo("2019-08-28")
Begitu juga, kita boleh mengurangkan suatu Period dari tarikh tertentu:
var date = LocalDate.of(2018, 6, 25) var modifiedDate = date.minus(period)
Dan seperti yang dijangkakan, tarikh yang diubah adalah:
assertThat(modifiedDate).isEqualTo("2017-04-22")
Kita juga boleh menggunakan Tempoh untuk mewakili jarak antara dua tarikh.
Anggaplah kita mempunyai dua tarikh, tepat 6 bulan antara satu sama lain:
var date1 = LocalDate.parse("2018-06-25") var date2 = LocalDate.parse("2018-12-25")
Sekarang, kita dapat menunjukkan jarak antara dua tarikh ini menggunakan kaedah antara Period :
var period = Period.between(date1, date2)
Yang tempoh berubah-ubah akan menghasilkan berikut :
assertThat(period.toString()).isEqualTo("P6M")
P bermaksud Period dan 6M bermaksud 6 bulan.
6. Kesimpulannya
Dalam artikel ini, kami telah mempelajari asas-asas bagaimana bekerja dengan Dates di Kotlin.
Kami telah melihat bagaimana membuat kejadian tarikh menggunakan pelbagai kaedah dan cara memformat objek tarikh kembali ke teks yang dapat dibaca.
Selanjutnya, kami meneliti pengekstrakan komponen dari objek Date dan akhirnya bagaimana bekerja dengan Periods di Kotlin.
Kod yang digunakan dalam tutorial ini terdapat di GitHub.