Panduan Lengkap Java Date & Time untuk Pemula

Pengenalan

Halo di sana, penyihir Java masa depan! Hari ini, kita akan melakukan perjalanan yang menarik melalui wilayah tanggal dan waktu di Java. Jangan khawatir jika anda belum pernah menulis satu baris kode sebelumnya – saya akan menjadi pemandu anda yang bersahabat, dan pada akhir tutorial ini, anda akan dapat menguruskan tanggal seperti seorang profesional!

Java - Date & Time

Mari kita mulai dengan satu fakta yang menyenangkan: Adakah anda tahu bahwa komputer tidak secara alami memahami tanggal seperti kita? Untuk mereka, waktu adalah hanya satu angka yang sangat besar untuk menghitung detik. Tetapi berkat kelas Date di Java, kita dapat bekerja dengan tanggal dalam cara yang membuatkan kita manusia dapat memahami.

Kelas Date di Java

Pengisytiharan Kelas

Di Java, kelas Date adalah sebahagian dari paket java.util. Untuk menggunakannya, kita perlu mengimportnya di permulaan fail Java kita:

import java.util.Date;

Pandang baris ini sebagai pemberitahuan kepada Java, "Hai, kita akan bekerja dengan tanggal hari ini, jadi sila bersediakan alat itu untuk kita!"

Konstruktor Kelas

Kelas Date memiliki beberapa konstruktor, tetapi dalam pengaturcaraan Java modern, kita sebahagian besar menggunakan dua:

  1. Date(): Membuat objek Date yang mewakili tanggal dan waktu saat ini.
  2. Date(long milliseconds): Membuat objek Date untuk satu masa tertentu, diukur dalam milliseconds sejak 1 Januari 1970, 00:00:00 GMT (diketahui sebagai "epoch").

Lihatlah ini dalam aksi:

Date currentDate = new Date(); // Tanggal dan waktu saat ini
Date specificDate = new Date(1000000000000L); // 9 September 2001, 01:46:40 GMT

Dalam baris kedua, angka besar itu mewakili milliseconds sejak epoch. Jangan khawatir tentang mengingat ini – hanya untuk menunjukkan kepada anda cara Java berfikir tentang tanggal di belakang layar.

Method Kelas

Kelas Date datang dengan beberapa method yang berguna. Mari kita lihat beberapa yang paling umum:

Method Keterangan
getTime() Mengembalikan jumlah milliseconds sejak 1 Januari 1970
before(Date date) Memeriksa jika tanggal ini adalah sebelum tanggal yang dinyatakan
after(Date date) Memeriksa jika tanggal ini adalah selepas tanggal yang dinyatakan
compareTo(Date date) Membandingkan dua tanggal
toString() Mengubah tanggal ke representasi String

Berikut adalah cara kita mungkin menggunakan method ini:

Date now = new Date();
Date later = new Date(now.getTime() + 86400000); // 24 jam kemudian

System.out.println("Current time: " + now.toString());
System.out.println("Apakah sekarang adalah sebelum kemudian? " + now.before(later));
System.out.println("Hasil perbandingan: " + now.compareTo(later));

Dalam contoh ini, kita membuat dua objek Date: now (waktu saat ini) dan later (24 jam dari sekarang). Kita kemudian mencetak waktu saat ini, memeriksa jika now adalah sebelum later, dan membandingkan dua tanggal.

Method Waris

Kelas Date juga warisi method dari superclassnya, Object. Beberapa diantaranya termasuk:

Method Keterangan
clone() Membuat dan mengembalikan salinan objek ini
equals(Object obj) Membandingkan tanggal ini dengan objek lain
hashCode() Mengembalikan nilai hash code untuk objek ini

Contoh Membuat Instans Tanggal Saat Ini

Mari kita gabungkan semua ini dalam satu contoh lengkap:

import java.util.Date;

public class DateExample {
public static void main(String[] args) {
// Buat objek Date untuk tanggal dan waktu saat ini
Date currentDate = new Date();

// Cetak tanggal saat ini
System.out.println("Current date and time: " + currentDate.toString());

// Dapatkan waktu dalam milliseconds dan cetakkannya
long timeInMillis = currentDate.getTime();
System.out.println("Time in milliseconds since epoch: " + timeInMillis);

// Buat tanggal 24 jam dari sekarang
Date tomorrowDate = new Date(timeInMillis + 86400000);

// Bandingkan tanggal
System.out.println("Apakah tanggal saat ini adalah sebelum besok? " + currentDate.before(tomorrowDate));
System.out.println("Apakah tanggal saat ini adalah selepas besok? " + currentDate.after(tomorrowDate));

// Bandingkan tanggal menggunakan compareTo
int comparisonResult = currentDate.compareTo(tomorrowDate);
System.out.println("Hasil perbandingan: " + comparisonResult);
}
}

Output

Apabila anda menjalankan program ini, anda akan melihat output yang hampir sama seperti ini:

Current date and time: Wed Jun 21 15:30:45 EDT 2023
Time in milliseconds since epoch: 1687377045123
Apakah tanggal saat ini adalah sebelum besok? true
Apakah tanggal saat ini adalah selepas besok? false
Hasil perbandingan: -1

Ingat, output yang tepat akan bergantung pada apabila anda menjalankan program!

Kesimpulan

Tahniah! Anda baru saja melakukan langkah pertama anda ke dalam dunia pengurusan tanggal di Java. Kita telah membahas dasar-dasar dalam membuat objek Date, membandingkannya, dan mengambil maklumat darinya.

Sebagai anda teruskan perjalanan Java anda, anda akan menemui alat yang lebih kuat untuk bekerja dengan tanggal dan waktu, seperti paket java.time yang diperkenalkan di Java 8. Tetapi untuk masa ini, pujilah diri anda – anda sudah di atas jalan untuk menjadi seorang Lord Waktu Java!

Ingat, latihan membuatkan yang sempurna. Cobalah untuk membuat program anda sendiri menggunakan kelas Date. Mungkin anda boleh membuat program yang mengira umur anda secara eksakt dalam hari, atau satu yang memberitahu anda berapa hari lagi hingga ulang tahun anda berikutnya. Kemungkinan itu tak terbatas!

Happy coding, dan may your dates always be in order!

Credits: Image by storyset