Java - LocalDate dan LocalDateTime

Pada Java untuk membuat tipe data berformat tanggal dan waktu bisa menggunakan package java.time yang mana tipe data ini mulai diperkenalan pada java versi 8 yang mana untuk format tanggal dan waktu ini mengikuti standar sistem kalender ISO-8601. Umumnya pada pakcage java.time ada 2 jenis package yang sering digunakan yaitu
java.time.LocalDate seperti namanya LocalDate hanya dapat digunakan untuk menyimpan data berupa tanggal (Tahun, bulan dan hari) (yyyy-mm-dd) dan harus diingat tipe data ini sifatnya immutable.
berikut adalah contoh penggunaannya.
// untuk membuat date format
LocalDate date = LocalDate.of(2007, 12, 3);
// untuk menampikan tanggal sekarang
LocalDate now = LocalDate.now();
// membandingkan
LocalDate date1 = LocalDate.of(2007, 12, 3);
LocalDate date2 = LocalDate.of(2007, 12, 4);
date1.isBefore(date2); // => true
date1.isAfter(date2); // => false
//instance ini juga memiliki setter getternya sendiri
now.getDayOfMoth(); // => mengembalikan tanggal
now.addDays(3); // => menambahkan hari ini + 3
java.time.LocalDateTime seperti namanya LocalDateTime ini seperti Tanggal yang membedakannya tipe data ini dapat menyimpan waktu dari jam, menit hingga detik.
Berikut adalah contoh penggunnaannya
// membuat instance
LocalDateTime dateTime = LocalDateTime.of(2024, 1, 14, 20, 10, 01);
// untuk menampikan tanggal dan waktu sekarang
LocalDateTime now = LocalDateTime.now();
// konversi LocalDate ke LocalDateTime
LocalDate datenow = LocalDate.of(2024, 01, 14);
LocalDateTime dateTimeToday = datenow.at(10, 10, 10);
dateTimeToday.toString() // => 2024-01-14T10:10:10
Melakukan formatting pada kedua instance
Untuk format date time juga dapat dilakukan pembuatan instance dari dan ke string.
LocalDateTime datetime = LocalDateTime.of(2024, 01, 14, 10, 0, 0);
LocalDateTime parsed = LocalDateTime.parse("2024-01-14T10:00:00");
dateTime.equal(parsed); // => true
// dibuat dengan formatter
DateTimeFormatter parser = DateTimeFormatter.ofPattern("dd/MM/yyyy");
LocalDate date = LocalDate.parse("14-01-2024", parser);
DateFormatter printer = DateTimeFormatter.ofPattern("MMMM d, yyyy");
printer.format(date); // => "January 14, 2024
//bisa juga dilakukan degan custom
LocalDate now = LocalDate.now();
DateFormatter printer = DateTimeFormatter.ofPattern("'sekarang adalah hari 'EEEE d, yyyy");
printer.format(now);

![[Config] Konfigurasi VPS Linux](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fstock%2Funsplash%2F40XgDxBfYXM%2Fupload%2F4abd040c2310d933545447e36e0aa765.jpeg&w=3840&q=75)
![[Error] npx create-react-app](/_next/image?url=https%3A%2F%2Fcdn.hashnode.com%2Fres%2Fhashnode%2Fimage%2Fstock%2Funsplash%2FO_Xy25Dj7Mo%2Fupload%2F857d641313b8e971d5d750198efa52d0.jpeg&w=3840&q=75)
