Cara Menampilkan Tanggal dan Waktu di Vue.js

Tanggal dan waktu adalah komponen penting di dalam pembuatan aplikasi. Keduanya bisa digunakan untuk menandai kapan suatu event terjadi atau hal lain yang membutuhkannya. Lalu bagaimana cara menampilkan tanggal dan waktu di Vue.js?

Prasyarat Artikel

Artikel ini menggunakan dependency package VueUse untuk menampilkan tanggal dan waktu secara realtime. Adapun fungsi dari VueUse yang digunakan adalah sebagai berikut:

  • useNow digunakan untuk mendapatkan tanggal dan waktu secara realtime (reactive)
  • useDateFormat digunakan untuk memformat tanggal dan waktu.

Mendapatkan Tanggal & Waktu Secara Realtime

Berikut ini contoh penggunaan useNow untuk mendapatkan tanggal dan waktu di Vue.js secara realtime.

<template>
 <div v-text='now'/>
</template>

<script setup>
import { useNow } from '@vueuse/core'

const now = useNow()
</script>

Pada contoh di atas, browser akan menampilkan tanggal dan waktu saat diakses kurang lebih formatnya seperti di bawah ini:

Fri Mar 15 2024 06:43:19 GMT+0700 (Indochina Time)

Mengubah Format Tanggal dan Waktu

Selanjutnya, kita akan mengubah format tanggal dan waktu agar sesuai dengan yang umum berlaku di Indonesia yaitu: Hari, Tanggal Bulan Tahun. Caranya adalah sebagai berikut:

<template>
 <div v-text='now'/>
</template>

<script setup>
import { useNow, useDateFormat } from '@vueuse/core'

const now = useDateFormat(useNow(), "dddd, DD MMMM YYYY", {locales:'id-ID'})
</script>

Dari contoh di atas, akan dihasilkan tampilan di browser kurang lebih seperti berikut:

Jumat, 15 Maret 2024

Lalu bagaimana kalau mau menampilkan sekaligus waktunya? Cukup tambahkan HH:mm:ss setelah format tahun. Lihat contoh berikut:

const now = useDateFormat(useNow(), "dddd, DD MMMM YYYY HH:mm:ss", {locales:'id-ID'})

Kode di atas akan menghasilkan tanggal dan waktu kurang lebih seperti di bawah ini:

Jumat, 15 Maret 2024 06:51:27

Perhatikan bagian {locales:'id-ID'}. Parameter id-ID bisa diubah ke local lain yang tersedia agar mendapat format tanggal dan waktu sesuai yang diinginkan. Silahkan coba menggunakan Playground VueUse untuk bermain-main dengan kedua fungsi tersebut.

Format Tanggal dan Waktu yang Tersedia

Di bawah ini adalah dokumentasi lengkap format tanggal dan waktu yang tersedia untuk digunakan pada fungsi useDateFormat().

FormatOutputDescription
Yo2018thOrdinal formatted year
YY18Two-digit year
YYYY2018Four-digit year
M1-12The month, beginning at 1
Mo1st, 2nd, …, 12thThe month, ordinal formatted
MM01-12The month, 2-digits
MMMJan-DecThe abbreviated month name
MMMMJanuary-DecemberThe full month name
D1-31The day of the month
Do1st, 2nd, …, 31stThe day of the month, ordinal formatted
DD01-31The day of the month, 2-digits
H0-23The hour
Ho0th, 1st, 2nd, …, 23rdThe hour, ordinal formatted
HH00-23The hour, 2-digits
h1-12The hour, 12-hour clock
ho1st, 2nd, …, 12thThe hour, 12-hour clock, sorted
hh01-12The hour, 12-hour clock, 2-digits
m0-59The minute
mo0th, 1st, …, 59thThe minute, ordinal formatted
mm00-59The minute, 2-digits
s0-59The second
so0th, 1st, …, 59thThe second, ordinal formatted
ss00-59The second, 2-digits
SSS000-999The millisecond, 3-digits
AAM PMThe meridiem
AAA.M. P.M.The meridiem, periods
aam pmThe meridiem, lowercase
aaa.m. p.m.The meridiem, lowercase and periods
d0-6The day of the week, with Sunday as 0
ddS-SThe min name of the day of the week
dddSun-SatThe short name of the day of the week
ddddSunday-SaturdayThe name of the day of the week
Photo of author

Ahmad Budairi

Ahmad Budairi, S.Pd. | Seorang Web Developer sekaligus kader Gerakan Pemuda Ansor yang sangat suka menulis artikel. Saya di sini akan lebih banyak menulis seputar Laravel, vue, vuetify, inertiajs, dan hal lain yang berhubungan dengan web development.Kontak: budairi.contact[et]gmail[dot]com