Memperkenalkan tipe Tanggal - 1

"Hai, Amigo. Saya ingin memberi tahu Anda tentang jenis yang menarik bernama Tanggal. Jenis ini menyimpan tanggal dan waktu, dan juga dapat mengukur interval waktu."

"Kedengarannya menarik. Silakan lanjutkan."

"Setiap objek Tanggal menyimpan waktu dalam bentuk yang agak menarik: jumlah milidetik sejak 1 Januari 1970 GMT."

"Wah!"

"Ya. Angka ini sangat besar sehingga tidak ada cukup ruang untuk itu int , jadi harus disimpan lama . Tapi ini sangat berguna untuk menghitung selisih antara dua tanggal. Anda hanya melakukan pengurangan untuk mencari selisihnya dengan akurasi hingga milidetik. Ini juga memecahkan masalah garis tanggal dan waktu musim panas."

"Bagian yang paling menarik adalah setiap objek diinisialisasi dengan waktu saat ini saat pembuatannya. Untuk mengetahui waktu saat ini, Anda hanya perlu membuat objek Tanggal."

"Bagaimana caramu bekerja dengannya?"

"Ini beberapa contohnya:"

Dapatkan tanggal saat ini:
public static void main(String[] args) throws Exception
{
     Date today = new Date();
     System.out.println("Current date: " + today);
}
Hitunglah selisih antara kedua tanggal tersebut
public static void main(String[] args) throws Exception
{
    Date currentTime = new Date();           // Get the current date and time
    Thread.sleep(3000);                      // Wait 3 seconds (3000 milliseconds)
    Date newTime = new Date();               // Get the new current time

    long msDelay = newTime.getTime() - currentTime.getTime(); // Calculate the difference
    System.out.println("Time difference is: " + msDelay + " in ms");
}
Periksa apakah jumlah waktu tertentu telah berlalu:
public static void main(String[] args) throws Exception
{
    Date startTime = new Date();

    long endTime = startTime.getTime() + 5000;  //    +5 seconds
    Date endDate = new Date(endTime);

    Thread.sleep(3000);              // Wait 3 seconds

    Date currentTime = new Date();
    if(currentTime.after(endDate))// Check whether currentTime is after endDate
    {
        System.out.println("End time!");
    }
}
Tentukan berapa lama waktu telah berlalu sejak awal hari:
public static void main(String[] args) throws Exception
{
    Date currentTime = new Date();
    int hours = currentTime.getHours();
    int mins = currentTime.getMinutes();
    int secs = currentTime.getSeconds();

    System.out.println("Time since midnight " + hours + ":" + mins + ":" + secs);
}
Tentukan berapa hari telah berlalu sejak awal tahun:
public static void main(String[] args) throws Exception
{
    Date yearStartTime = new Date();
    yearStartTime.setHours(0);
    yearStartTime.setMinutes(0);
    yearStartTime.setSeconds(0);

    yearStartTime.setDate(1);      // First day of the month
    yearStartTime.setMonth(0);     // January (the months are indexed from 0 to 11)

    Date currentTime = new Date();
    long msTimeDifference = currentTime.getTime() - yearStartTime.getTime();
    long msDay = 24 * 60 * 60 * 1000;  // The number of milliseconds in 24 hours

    int dayCount = (int) (msTimeDifference/msDay); // The number of full days
    System.out.println("Days since the start of the year: " + dayCount);
}

" getTime()Metode ini mengembalikan jumlah milidetik yang disimpan dalam objek Tanggal."

" after()Metode memeriksa apakah tanggal kita memanggil metode datang setelah tanggal diteruskan ke metode."

" getHours(), getMinutes(), getSeconds()Metode mengembalikan jumlah jam, menit, dan detik, masing-masing, untuk objek tempat mereka dipanggil."

"Selain itu, dalam contoh terakhir Anda dapat melihat bahwa Anda dapat mengubah tanggal/waktu yang disimpan dalam objek Tanggal . Kami mendapatkan waktu dan tanggal saat ini dan kemudian mereset jam, menit, dan detik ke 0. Kami juga menetapkan Januari sebagai bulan dan 1 sebagai hari dalam sebulan. Dengan demikian, objek yearStartTimemenyimpan tanggal 1 Januari tahun ini dan waktu 00:00:00."

"Setelah itu, kami kembali mendapatkan tanggal saat ini ( currentTime), menghitung selisih antara dua tanggal dalam milidetik, dan menyimpannya di msTimeDifference."

"Kemudian kita bagi msTimeDifferencedengan jumlah milidetik dalam 24 jam untuk mendapatkan jumlah hari penuh dari awal tahun berjalan hingga hari ini."

"Wow! Ini sangat keren!"