Petunjuk Komprehensif tentang Java Tanggal & Waktu untuk Pemula

Pengantar

Halo di sana, para 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 ramah Anda, dan pada akhir tutorial ini, Anda akan dapat memanipulasi tanggal seperti seorang profesional!

Java - Date & Time

Mari kita mulai dengan sebuah fakta yang menyenangkan: Apakah Anda tahu bahwa komputer tidak secara alami mengerti tanggal seperti kita? Untuk mereka, waktu adalah hanya sebuah angka yang sangat besar untuk menghitung detik. Namun, terima kasih kepada kelas Date di Java, kita dapat bekerja dengan tanggal dalam cara yang masuk akal bagi manusia.

Kelas Date di Java

Deklarasi Kelas

Di Java, kelas Date adalah bagian dari paket java.util. Untuk menggunakannya, kita perlu mengimporinya di awal file Java kita:

import java.util.Date;

Pikirkan tentang baris ini sebagai pemberitahuan kepada Java, "Hai, kita akan bekerja dengan tanggal hari ini, jadi harap Anda memiliki alat ini siap untuk kita!"

Konstruktor Kelas

Kelas Date memiliki beberapa konstruktor, tetapi dalam pemrograman Java modern, kita sebagian besar menggunakan dua:

  1. Date(): Membuat objek Date yang mewakili tanggal dan waktu saat ini.
  2. Date(long milliseconds): Membuat objek Date untuk sebuah momen waktu yang spesifik, diukur dalam milliseconds sejak 1 Januari 1970, 00:00:00 GMT (dikenal 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

Pada baris kedua, angka yang besar itu mewakili milliseconds sejak epoch. Jangan khawatir tentang mengingat ini – ini hanya untuk menunjukkan kepada Anda bagaimana Java berpikir tentang tanggal di belakang layar.

Metode Kelas

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

Metode Deskripsi
getTime() Mengembalikan jumlah milliseconds sejak 1 Januari 1970
before(Date date) Memeriksa apakah tanggal ini adalah sebelum tanggal yang ditentukan
after(Date date) Memeriksa apakah tanggal ini adalah setelah tanggal yang ditentukan
compareTo(Date date) Membandingkan dua tanggal
toString() Mengkonversi tanggal ke representasi String

Berikut ini adalah bagaimana kita mungkin menggunakan metode ini:

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

System.out.println("Waktu saat ini: " + now.toString());
System.out.println("Apakah waktu saat ini 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 apakah now adalah sebelum later, dan membandingkan kedua tanggal.

Metode Yang Diketurunkan

Kelas Date juga mengikuti metode dari superclassnya, Object. Beberapa diantaranya termasuk:

Metode Deskripsi
clone() Membuat dan mengembalikan salinan dari 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 sebuah contoh lengkap:

import java.util.Date;

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

// Mencetak tanggal saat ini
System.out.println("Tanggal dan waktu saat ini: " + currentDate.toString());

// Mendapatkan waktu dalam milliseconds dan mencetaknya
long timeInMillis = currentDate.getTime();
System.out.println("Waktu dalam milliseconds sejak epoch: " + timeInMillis);

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

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

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

Output

Ketika Anda menjalankan program ini, Anda akan melihat output yang mirip dengan ini:

Tanggal dan waktu saat ini: Rab Jun 21 15:30:45 EDT 2023
Waktu dalam milliseconds sejak epoch: 1687377045123
Apakah tanggal saat ini sebelum besok? true
Apakah tanggal saat ini setelah besok? false
Hasil perbandingan: -1

Ingat, output yang eksak akan tergantung pada waktu Anda menjalankan program!

Kesimpulan

Selamat! Anda baru saja melakukan langkah pertamamu ke dunia penanganan tanggal di Java. Kita telah membahas dasar-dasar dalam membuat objek Date, membandingkannya, dan mengekstrak informasi dari mereka.

Sebagai Anda melanjutkan perjalanan Java Anda, Anda akan menemukan alat yang lebih kuat untuk bekerja dengan tanggal dan waktu, seperti paket java.time yang diperkenalkan di Java 8. Tetapi untuk saat ini, pujilah diri Anda – Anda sudah di jalan untuk menjadi seorang 'lord waktu' Java!

Ingat, praktek membuat perfect. Cobalah membuat program Anda sendiri menggunakan kelas Date. Mungkin Anda dapat membuat program yang menghitung umur Anda secara eksak dalam hari, atau satu yang memberitahu Anda berapa hari lagi sampai ulang tahun Anda berikutnya. Kemungkinan itu tak terbatas!

Selamat coding, dan semoga tanggal Anda selalu dalam urutan!

Credits: Image by storyset