Java 8 memiliki pustaka yang sama sekali baru untuk tanggal dan waktu dalam paket java.time yang merupakan hal yang sangat disambut baik bagi siapa saja yang harus menggunakan JodaTime sebelum atau repot dengan membuat sendiri metode pemrosesan pembantu tanggal. Banyak kelas dalam paket ini mewakili stempel waktu dan memiliki metode pembantu seperti getHour()
mendapatkan jam dari stempel waktu, getMinute()
untuk mendapatkan beberapa menit dari stempel waktu, getNano()
untuk mendapatkan nanos dari stempel waktu dll ...
Saya perhatikan bahwa mereka tidak memiliki metode yang dipanggil getMillis()
untuk mendapatkan miliaran cap waktu. Sebaliknya seseorang harus memanggil metode get(ChronoField.MILLI_OF_SECOND)
. Bagi saya, itu tampak seperti ketidakkonsistenan di perpustakaan. Adakah yang tahu mengapa metode seperti itu hilang, atau karena Java 8 masih dalam pengembangan, apakah ada kemungkinan akan ditambahkan nanti?
https://docs.oracle.com/javase/8/docs/api/java/time/package-summary.html
Kelas-kelas yang didefinisikan di sini mewakili konsep tanggal-waktu utama, termasuk instance, durasi, tanggal, waktu, zona waktu dan periode. Mereka didasarkan pada sistem kalender ISO, yang merupakan kalender dunia de facto mengikuti aturan Gregorian yang subur. Semua kelas tidak dapat diubah dan aman untuk digunakan.
Setiap instance waktu tanggal terdiri dari bidang yang mudah disediakan oleh API. Untuk akses tingkat rendah ke bidang merujuk ke
java.time.temporal
paket. Setiap kelas menyertakan dukungan untuk mencetak dan menguraikan segala macam tanggal dan waktu. Lihatjava.time.format
paket untuk opsi penyesuaian ...
Contoh kelas semacam ini:
https://docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html
Tanggal-waktu tanpa zona waktu dalam sistem kalender ISO-8601, seperti 2007-12-03T10: 15: 30.
LocalDateTime
adalah objek tanggal-waktu yang tidak dapat berubah yang mewakili waktu-tanggal, sering dipandang sebagai tahun-bulan-hari-jam-menit-detik. Bidang tanggal dan waktu lainnya, seperti hari-tahun, hari-minggu dan minggu-tahun, juga dapat diakses. Waktu direpresentasikan ke presisi nanodetik. Misalnya, nilai "2 Oktober 2007 pada 13: 45.30.123456789" dapat disimpan dalamLocalDateTime
...
Instant
kelas
get()
, alih-alih memberi mereka nama-nama unik dan individual. Jika itu mengganggu Anda, tulislah sebuah kelas yang mewarisi kelas asli, dan letakkangetMillis()
metode Anda sendiri di kelas yang baru.