Jumat, 14 Mei 2021

Cara mendapatkan tanggal sekarang (now) menggunakan Calender dan Date di Java

Tags

Java menyediakan banyak metode untuk merepresentasikan tanggal dan waktu. Kali ini, kita akan menggunakan Date dan Calender untuk mendapatkan tanggal saat ini di Java. Bagian dari tanggal dapat diformat menggunakan DateFormat atau SimpleDateFormat untuk tampilan. Pada Java 8, untuk mengonversi dan mendapatkan tanggal saat ini (now) di antara zona waktu yang berbeda, disarankan untuk menggunakan ZonedDateTime; namun fungsionalitas yang sama dapat dicapai dengan menggunakan Date dan Calender juga.

Mendapatkan tanggal saat ini menggunakan java.util.Date

Untuk mendapatkan tanggal saat ini, buat saja objek baru java.util.Date. Pastikan untuk tidak mengimpor java.sql.Date.


		Date dt = new Date();
		System.out.println("Tanggal sekarang: " + dt);


Untuk mendapatkan tanggal saat ini dari zona waktu yang berbeda, kita harus mengatur zona waktu. Jika tidak mengetahui zona waktu, Anda dapat mencetak dari daftar dan pilih yang diinginkan.


		// Kita juga bisa mendapatkan tanggal saat ini dari zona waktu yang berbeda.
		// Mendapatkan daftar zona waktu
		String[] tzList = TimeZone.getAvailableIDs();
		System.out.println("Daftar zona: " + Arrays.toString(tzList));

		// Tentukan format tanggal sekarang untuk zona waktu yang dipilih
		SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy");

		// atur zona waktu
		sdf.setTimeZone(TimeZone.getTimeZone("Asia/Jakarta"));
		System.out.println("Zona waktu terpilih: " + sdf.format(dt));


Disini kita mengimpor java.util.Calendar dan kemudian membuat calender instance.


Calendar cal = Calendar.getInstance();


Setelah itu gunakan metode getTime() untuk mendapatkan tanggal saat ini:


Date calDate = cal.getTime();


getTime() mengonversi Calender instance menjadi objek Tanggal.


System.out.println(calDate);


Untuk mendapatkan tanggal saat ini dari zona waktu yang berbeda, gunakan kode yang sama sebagai objek Date dengan meneruskan calDate alih-alih objek dt ke objek sdf.


System.out.println(sdf.format(calDate));


Berikut adalah contoh lengkap sebagai referensi:


import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

public class MainApp {

    public static void main(String[] args) {

        // Ada banyak cara untuk mendapatkan tanggal sekarang
        // Metode yang paling umum adalah menggunakan new Date()
        Date dt = new Date();
        System.out.println("Tanggal sekarang: " + dt);

        // Pastikan mengimpor java.util.Date dan bukan java.sql.Date
        // Metode populer lainnya adalah dengan menggunakan Calender
        Calendar cal = Calendar.getInstance();

        Date calDate = cal.getTime(); //. getTime() mengonversi Calender instance menjadi Date

        System.out.println("Tanggal sekarang menngunakan Calendar: " +calDate);

        // Kita juga bisa mendapatkan tanggal saat ini dari zona waktu yang berbeda.
        // Mendapatkan daftar zona waktu
        String[] tzList = TimeZone.getAvailableIDs();
        System.out.println("Daftar zona: " + Arrays.toString(tzList));

        // Tentukan format tanggal sekarang untuk zona waktu yang dipilih
        SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy");

        // atur zona waktu
        sdf.setTimeZone(TimeZone.getTimeZone("Asia/Jakarta"));
        System.out.println("Zona waktu terpilih: " + sdf.format(dt));

        // Kita juga bisa menggunakan Calender untuk hal yang sama
        sdf.setTimeZone(TimeZone.getTimeZone("GMT+7"));
        System.out.println("Zona waktu terpilih menggunakan Calendar: " + sdf.format(calDate));
    }
}



Kesimpulan

Kita telah melihat penggunaan Date dan Calender untuk mendapatkan tanggal sekarang (now) atau tanggal hari ini menggunakan Java. Selanjutnya kita bisa menggunakan format untuk menampilkan hari dalam seminggu, bulan dalam huruf, tanggal, waktu, zona waktu, dan tahun. Kita dapat menggunakan format apapun menggunakan SimpleDateFormat, dan tanggal & waktu akan ditampilkan sesuai dengan itu.


EmoticonEmoticon