The Instant
kelas merupakan titik sesaat pada waktu-line. Konversi ke dan dari LocalDate
membutuhkan zona waktu. Tidak seperti beberapa pustaka tanggal dan waktu lainnya, JSR-310 tidak akan memilih zona waktu untuk Anda secara otomatis, jadi Anda harus menyediakannya.
LocalDate date = LocalDate.now();
Instant instant = date.atStartOfDay(ZoneId.systemDefault()).toInstant();
Contoh ini menggunakan zona waktu default JVM - ZoneId.systemDefault()
- untuk melakukan konversi. Lihat di sini untuk jawaban yang lebih panjang untuk pertanyaan terkait.
Pembaruan: Penggunaan jawaban yang diterima LocalDateTime::toInstant(ZoneOffset)
yang hanya menerima ZoneOffset
. Jawaban ini menggunakan LocalDate::atStartOfDay(ZoneId)
yang menerima apapun ZoneId
. Dengan demikian, jawaban ini umumnya lebih berguna (dan mungkin harus diterima).
PS. Saya adalah penulis utama API
LocalDate
tidak menyertakan waktu.