Skip to content

Waktu dan Tanggal (dateTime.ts)

Kumpulan fungsi yang berguna tentang manipulasi tanggal dan waktu

isValidDate

Memeriksa apakah input merupakan objek Date yang valid.

Parameter

Nama ParameterTipe DataDefaultDeskripsi
dateanyRequiredVariabel yang akan diperiksa.

Return Value

booleantrue jika date adalah objek Date yang valid, false jika tidak.

convertISODate

Mengonversi objek Date menjadi format YYYY-MM-DD HH:MM:SS dalam zona waktu yang benar.

Parameter

Nama ParameterTipe DataDefaultDeskripsi
inputDateDate | nullRequiredObjek Date yang akan dikonversi.

Return Value

string | null → String dengan format YYYY-MM-DD HH:MM:SS, atau null jika input tidak valid.

translateDate

Mengubah objek Date atau string tanggal dalam format ISO 8601 menjadi format tanggal yang mudah dibaca.

Parameter

Nama ParameterTipe DataDefaultDeskripsi
datestring | DateRequiredTanggal yang akan dikonversi. Jika string, harus dalam format ISO 8601.
withDaybooleanfalseJika true, akan menampilkan hari dalam format panjang atau pendek.
timeDelimiterstring | nullnullPemisah antara tanggal dan waktu. Jika null, waktu tidak ditampilkan.
shortMonthbooleanfalseJika true, nama bulan akan disingkat menjadi 3 huruf.
shortDaybooleanfalseJika true, nama hari akan disingkat menjadi 3 huruf.
withoutDatebooleanfalseJika true, hanya menampilkan bulan dan tahun.
onlyTimebooleanfalseJika true, hanya mengembalikan waktu tanpa tanggal.

Return Value

string → Tanggal dalam format yang dapat dibaca sesuai dengan parameter yang diberikan.

Contoh

  • translateDate(new Date(), true, 'Pukul')"Senin, 12 Februari 2025 Pukul 14:30:00"
  • translateDate('2025-02-12T14:30:00Z', false, null, true)"Feb 2025"
  • translateDate('2025-02-12T14:30:00Z', false, null, false, false, false, true)"14:30:00"

translateDateRange

Mengubah rentang dua tanggal menjadi format tanggal yang mudah dibaca.

Parameter

Nama ParameterTipe DataDefaultDeskripsi
date1string | DateRequiredTanggal pertama dalam rentang.
date2string | DateRequiredTanggal kedua dalam rentang.
withoutDaybooleanfalseJika true, akan menghilangkan nama hari dalam format hasil.

Return Value

string → Rentang tanggal dalam format yang mudah dibaca.

Contoh

  • translateDateRange('2025-02-10', '2025-02-12')"Senin - Rabu, 10-12 Februari 2025"
  • translateDateRange('2025-02-10', '2025-02-10')"Senin, 10 Februari 2025"
  • translateDateRange('2025-02-28', '2025-03-05')"Jumat, 28 Februari - Rabu, 5 Maret 2025"