TypeScript - Objek Tanggal: Panduan untuk Pemula

Hai teman, super bintang coding masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia tanggal di TypeScript. Jangan khawatir jika Anda belum pernah menulis baris kode sebelumnya - saya akan menjadi panduan ramah Anda, dan kita akan mengambil langkah ini satu per satu. Pada akhir panduan ini, Anda akan dapat memanipulasi tanggal seperti seorang ahli!

TypeScript - Date Object

Apa Itu Objek Tanggal?

Sebelum kita masuk ke detail, mari bicarakan apa sebenarnya objek Tanggal. Dalam TypeScript (dan JavaScript), objek Tanggal mewakili satu momen waktu. Itu seperti foto sebuah tanggal dan waktu tertentu, yang kita dapat manipulasi dan gunakan dalam program kita.

Pikirkan itu seperti jam digital yang Anda dapat mengatur ke waktu apapun Anda inginkan, masa lalu, sekarang, atau masa depan. Keren, kan?

Sintaks: Membuat Objek Tanggal

Sekarang, mari kita lihat bagaimana kita dapat membuat objek Tanggal di TypeScript. Ada beberapa cara untuk melakukan ini, dan saya akan menunjukkan setiap satu dengan contoh.

1. Tanggal dan Waktu Saat Ini

Untuk membuat objek Tanggal dengan tanggal dan waktu saat ini, Anda cukup menggunakan new Date() tanpa argument.

let currentDate = new Date();
console.log(currentDate);

Jika Anda menjalankan kode ini, Anda akan melihat sesuatu seperti ini:

2023-06-15T12:30:45.678Z

Ini mungkin terlihat sedikit menakutkan, tapi jangan khawatir! Ini hanya menunjukkan tanggal dan waktu saat ini dalam format standar.

2. Tanggal dan Waktu Tertentu

Anda juga dapat membuat objek Tanggal untuk tanggal dan waktu tertentu. Ada beberapa cara untuk melakukan ini:

a. Menggunakan string tanggal

let christmas = new Date("December 25, 2023 00:00:00");
console.log(christmas);

Ini akan mengeluarkan:

2023-12-25T00:00:00.000Z

b. Menggunakan parameter terpisah

let newYear = new Date(2024, 0, 1, 0, 0, 0);
console.log(newYear);

Ini akan mengeluarkan:

2024-01-01T00:00:00.000Z

Perhatikan bahwa bulan adalah 0 untuk Januari. Dalam JavaScript dan TypeScript, bulan diindeks nol, artinya Januari adalah 0, Februari adalah 1, dan seterusnya. Ini adalah keanehan yang sering menangkap pemula, jadi ingat itu!

c. Menggunakan milisecond sejak epoch

Anda juga dapat membuat tanggal dengan menentukan jumlah milisecond sejak 1 Januari 1970 (dikenal sebagai "epoch"):

let someDate = new Date(1687012345678);
console.log(someDate);

Ini akan mengeluarkan tanggal dan waktu yang sesuai dengan jumlah milisecond setelah epoch.

Menggunakan Objek Tanggal

Sekarang kita tahu bagaimana membuat objek Tanggal, mari kita lihat beberapa hal yang kita dapat lakukan dengan mereka.

Mendapatkan Komponen Tanggal

Objek Tanggal memiliki beberapa metode untuk mendapatkan komponen tanggal berbeda:

let today = new Date();

console.log("Tahun Lengkap:", today.getFullYear());
console.log("Bulan:", today.getMonth());
console.log("Tanggal:", today.getDate());
console.log("Hari:", today.getDay());
console.log("Jam:", today.getHours());
console.log("Menit:", today.getMinutes());
console.log("Detik:", today.getSeconds());

Ini mungkin mengeluarkan sesuatu seperti ini:

Tahun Lengkap: 2023
Bulan: 5
Tanggal: 15
Hari: 4
Jam: 12
Menit: 45
Detik: 30

Ingat, getMonth() mengembalikan bulan yang diindeks nol, jadi 5 berarti Juni!

Mengatur Komponen Tanggal

Seperti halnya kita dapat mendapatkan komponen tanggal, kita juga dapat mengatur mereka:

let futureDate = new Date();

futureDate.setFullYear(2025);
futureDate.setMonth(11);  // Desember
futureDate.setDate(31);
futureDate.setHours(23);
futureDate.setMinutes(59);
futureDate.setSeconds(59);

console.log(futureDate);

Ini akan mengatur tanggal ke 31 Desember 2025, pukul 23:59:59.

Memformat Tanggal

TypeScript (dan JavaScript) menyediakan beberapa metode bawaan untuk memformat tanggal:

let event = new Date("July 4, 2023 12:00:00");

console.log(event.toDateString());
console.log(event.toTimeString());
console.log(event.toLocaleDateString());
console.log(event.toLocaleTimeString());
console.log(event.toISOString());

Ini akan mengeluarkan:

Tue Jul 04 2023
12:00:00 GMT+0000 (Coordinated Universal Time)
7/4/2023
12:00:00 PM
2023-07-04T12:00:00.000Z

Aritmetika Tanggal

Salah satu hal yang menarik tentang objek Tanggal adalah kita dapat melakukan operasi matematika dengan mereka! Mari kita lihat beberapa contoh:

Menambahkan Hari

let today = new Date();
let nextWeek = new Date(today.getTime() + 7 * 24 * 60 * 60 * 1000);

console.log("Hari ini:", today);
console.log("Minggu depan:", nextWeek);

Ini menambahkan 7 hari ke tanggal saat ini. Kita kalikan 7 (hari) dengan 24 (jam) dengan 60 (menit) dengan 60 (detik) dengan 1000 (milisecond) untuk mendapatkan jumlah milisecond dalam seminggu.

Mengurangi Tanggal

Kita juga dapat menemukan perbedaan antara dua tanggal:

let start = new Date("March 1, 2023");
let end = new Date("June 15, 2023");

let difference = end.getTime() - start.getTime();
let days = Math.floor(difference / (24 * 60 * 60 * 1000));

console.log(`Ada ${days} hari antara ${start.toDateString()} dan ${end.toDateString()}`);

Ini akan menghitung jumlah hari antara 1 Maret 2023 dan 15 Juni 2023.

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dunia objek Tanggal di TypeScript. Kita telah menutupi pembuatan tanggal, mendapatkan dan mengatur komponen tanggal, memformat tanggal, dan bahkan melakukan operasi aritmetika tanggal.

Ingat, bekerja dengan tanggal kadang-kadang bisa sulit, khususnya saat berurusan dengan zona waktu berbeda atau jam musim panas. Tetapi dengan latihan, Anda akan menjadi lebih nyaman dan mahir.

Berikut adalah tabel yang menggabungkan metode utama yang kita telah bahas:

Metode Deskripsi
new Date() Membuat objek Tanggal baru
getFullYear() Mendapatkan tahun (4 digit)
getMonth() Mendapatkan bulan (0-11)
getDate() Mendapatkan hari bulan (1-31)
getDay() Mendapatkan hari minggu (0-6)
getHours() Mendapatkan jam (0-23)
getMinutes() Mendapatkan menit (0-59)
getSeconds() Mendapatkan detik (0-59)
setFullYear() Mengatur tahun
setMonth() Mengatur bulan
setDate() Mengatur hari bulan
setHours() Mengatur jam
setMinutes() Mengatur menit
setSeconds() Mengatur detik
toDateString() Mengembalikan bagian tanggal sebagai string yang dapat dibaca manusia
toTimeString() Mengembalikan bagian waktu sebagai string yang dapat dibaca manusia
toLocaleDateString() Mengembalikan bagian tanggal menggunakan konvensi lokal
toLocaleTimeString() Mengembalikan bagian waktu menggunakan konvensi lokal
toISOString() Mengembalikan tanggal dalam format ISO

Terus latihan, terus coding, dan yang paling penting, bersenang-senang! Dunia pemrograman penuh dengan kemungkinan menarik, dan menguasai tanggal hanya awalnya. Selamat coding!

Credits: Image by storyset