Pendahuluan


Dalam Java, terdapat dua class yang dapat digunakan untuk mewakili tanggal.

Yaitu java.time.LocalDate dan java.util.Date.

Kelas java.time.LocalDate merupakan class yang diperkenalkan pada Java versi 8.

Sedangkan class java.util.Date merupakan kelas lama yang diperkenalkan pada Java versi 1.0.

Terkadang, kita perlu mengubah LocalDate menjadi Date.

Misalnya karena fungsi yang kita panggil, hanya menerima parameter java.util.Date, karena code lama.


Caranya bagaimana ?



Cara 1: Menggunakan metode atStartOfDay()


Metode atStartOfDay() dari kelas LocalDate mengembalikan objek java.time.Instant yang mewakili tanggal dan waktu pada pukul 00:00:00 UTC.

Untuk mengubah LocalDate menjadi Date, dapat dilakukan dengan menggunakan metode toDate() dari kelas java.time.Instant.

Contohnya :

 1import java.time.LocalDate;
 2import java.time.Instant;
 3import java.util.Date;
 4
 5public class Main {
 6
 7    public static void main(String[] args) {
 8        LocalDate localDate = LocalDate.now();
 9        Date date = localDate.atStartOfDay().toDate();
10
11        System.out.println(date);
12    }
13}

Hasilnya :

Sun Dec 10 10:00:00 GMT+07:00 2023



Cara 2: Menggunakan metode toInstant() dan ofEpochMilli()


Metode toInstant() dari kelas LocalDate mengembalikan objek java.time.Instant yang mewakili tanggal dan waktu.

Untuk mengubah LocalDate menjadi Date, dapat dilakukan dengan menggunakan metode ofEpochMilli() dari kelas java.time.Instant.


Contohnya :

 1import java.time.LocalDate;
 2import java.time.Instant;
 3import java.util.Date;
 4
 5public class Main {
 6
 7    public static void main(String[] args) {
 8        LocalDate localDate = LocalDate.now();
 9        Date date = Instant.ofEpochMilli(localDate.toInstant().toEpochMilli()).toDate();
10
11        System.out.println(date);
12    }
13}

Hasilnya :

Sun Dec 10 10:00:00 GMT+07:00 2023



Cara 3: Menggunakan kelas java.sql.Date


Class java.sql.Date merupakan class yang digunakan untuk mewakili tanggal dalam database.

Class ini merupakan turunan dari class java.util.Date.

Untuk mengubah LocalDate menjadi Date, dapat dilakukan dengan menggunakan konstruktor class java.sql.Date.


Contohnya :

 1import java.time.LocalDate;
 2import java.sql.Date;
 3
 4public class Main {
 5
 6    public static void main(String[] args) {
 7        LocalDate localDate = LocalDate.now();
 8        Date date = new Date(localDate.getYear(), localDate.getMonthValue(), localDate.getDayOfMonth());
 9
10        System.out.println(date);
11    }
12}

Hasilnya :

Sun Dec 10 10:00:00 GMT+07:00 2023


Itu…