Tampilan Tanggal dan Waktu Bagaimana Melakukannya Dengan Benar
Kami menemukan mereka tanggal dan waktu ... well, setiap hari. Ketika datang ke Web, Anda dapat menemukannya di aplikasi seluler Anda, di email, di aplikasi olahpesan Anda dan banyak tempat lainnya. Namun terlepas dari melihat tanggal dan waktu setiap hari dan di mana-mana, kita belum mengadopsi format universal untuk itu.
Misalnya, jika saya menulis 10/05/2015, Anda tidak akan pernah yakin apakah "10" itu adalah bulan atau tanggal kecuali saya memberi tahu Anda dari mana saya berasal. Terkadang formatnya berubah, kali lain bahasa.
Adalah penting bahwa sebagai pengembang web kami memperhatikan tanggal dan waktu yang kami tangani dalam proyek kami, sehingga kami dapat melakukannya melayani mereka untuk penduduk geografis yang berbeda tanpa konflik apa pun. Dalam posting ini kita akan membahas apa yang harus dihindari dan apa yang harus merangkul ketika datang untuk menampilkan tanggal-waktu.
Globalisasi
Katakanlah kita tidak ingin mengonversi dan menampilkan format tanggal dan waktu yang berbeda kepada pemirsa yang berbeda di seluruh dunia, apa yang bisa kita lakukan? Kami memilih satu format global dan tetap menggunakannya. Di sinilah beberapa standar berperan. Sebelum kita sampai di sana, saya harus memberi tahu bahwa W3C merekomendasikan agar kita menggunakan format tanggal ISO 8601 dengan zona waktu UTC.
ISO 8601
ISO 8601 menjelaskan cara yang diterima secara internasional untuk mewakili tanggal dan waktu menggunakan angka.
Dan format untuk tanggal lengkap adalah; YYYY-MM-DD
, sebagai contoh: 2015-07-28
YYYY = 4 digit tahun
MM = 2 digit bulan (01 = Januari, dll.)
DD = 2 digit hari (01 hingga 31)
Untuk melengkapi tanggal-waktu;YYYY-MM-DDThh: mm: ss.s
, sebagai contoh: 2015-07-28T21: 15: 18.45
T = Untuk memisahkan tanggal dan waktu sesuai dengan ISO 8601
mm = 2 digit menit (00 hingga 59)
ss = 2 digit detik (00 hingga 59)
s = Fraksi desimal satu detik, 1 digit atau lebih
Harap perhatikan bahwa karena tidak ada zona waktu yang disebutkan dalam contoh di atas, maka dapat diasumsikan bahwa waktunya ada di zona waktu lokal. Jika Anda telah memutuskan untuk menggunakan zona waktu UTC, cukup tambahkan Z ke nilai untuk menunjukkan UTC
Sebagai contoh: 2015-07-28T21: 15: 18.45Z
Tetapi jika Anda ingin menampilkan waktu setempat, maka Anda dapat menambahkan offset zona waktu untuk UTC ke nilai dalam format +jj: mm
atau -jj: mm
sesuai kebutuhan.
Sebagai contoh: Mari kita asumsikan 2015-07-28T21: 15: 18.45
berada di zona waktu EST (Eastern Standard Time) yang tertinggal 5 jam di belakang zona waktu UTC.
Untuk mewakilinya dengan offset UTC kami menulis 2015-07-28T21: 15: 18.45-05: 00
yang setara dengan waktu UTC 2015-07-29T02: 15: 18.45Z
.
Lagi Z ditambahkan untuk menyatakan bahwa tanggal-waktu yang ditampilkan adalah dalam waktu UTC.
UTC vs. GMT
Keduanya sama namun berbeda. Sekarang Anda mungkin telah menemukan GMT setidaknya sekali; saat mengatur tanggal-waktu di ponsel atau komputer Anda. Ini adalah zona waktu paling populer yang diakui di seluruh dunia karena telah ada lebih lama dari UTC.
Sementara beberapa orang mungkin mengatakan bahwa keduanya sama tetapi tidak, UTC adalah penerus GMT dan dikelola oleh International Telecommunications Union. Disarankan untuk merujuk pada waktu berdasarkan UTC dan bukan GMT.
Gunakan Nama Bulan
Standar ISO hanya menggunakan angka dalam representasi tanggal untuk menghindari konflik bahasa. Tetapi, jika konten aplikasi web Anda akan dalam bahasa Inggris, maka Anda harus mempertimbangkan menulis bulan dalam bahasa Inggris daripada dalam jumlah.
Dari pada 2015-07-28
, 28 Juli 2015
lebih mudah dipahami oleh banyak orang, dan tidak membingungkan.
Lokalisasi
Ada saatnya kami ingin sangat spesifik dengan layanan kami dan ingin mewakili tanggal dan waktu dalam zona waktu dan bahasa setempat. Ada banyak perpustakaan dan API yang tersedia untuk pengembang web untuk memanfaatkan dan menampilkan tanggal dan waktu sesuai wilayah pengaksesan.
Anda bisa mendapatkan lokal default browser dengan mengartikan Bahasa Terima
minta tajuk atau melalui navigator.language atau navigator.browserLanguage
Objek JavaScript, tetapi metode terbaik adalah biarkan pengguna memilih lokal di aplikasi Anda karena cara-cara sebelumnya tidak terlalu dapat diandalkan.
Setelah Anda memiliki lokal, Anda dapat memformat waktu tanggal sesuai dengan itu, misalnya menggunakan API Internasionalisasi, Anda dapat memformat tanggal menggunakan toLocaleDateString
dalam JavaScript, misalnya, myDate.toLocaleDateString ('ko-KR')
akan mengembalikan tanggal yang diformat dalam format yang digunakan di Korea oleh penduduk asli berbahasa Korea.
Daylight Saving Time (DST)
Di negara-negara tertentu, daylight saving time dilakukan dengan meneruskan jam satu jam di musim panas untuk memanfaatkan sinar matahari ekstra yang tersedia. Waspadai DST untuk mengikuti perkembangan waktu di layanan Anda.
Tidak Ada Dua Digit Tahun
Meskipun menyesuaikan tanggal dan waktu untuk pelokalan, jangan gunakan format dua digit untuk tahun ini di titik mana pun. Kita sudah berada di abad ke-21. Menggunakan tahun seperti 64
, 99
dll akan merepotkan di masa depan. Jika Anda sudah memiliki sistem tahun dua digit, pertimbangkan untuk mengubahnya.
Tahun Kabisat dan Kalender Lainnya
Mari kita akhiri tulisan ini dengan beberapa hal lain yang perlu diingat saat berurusan dengan kencan. Jika Anda tidak menggunakan pustaka atau API untuk tanggal dan ingin menanganinya sendiri (yang tidak direkomendasikan namun), jangan lupa untuk menunjukkan tanggal 29 Februari di input untuk tahun kabisat.
Juga, perlu dicatat bahwa Kalender Gregorian bukan satu-satunya bentuk kalender yang tersedia dan digunakan di seluruh dunia. Ada beberapa kalender regional yang diikuti penduduk setempat, terutama dalam hal perayaan.
Referensi
- International Telecommunications Union: Status Studi Waktu Universal Terkoordinasi (UTC) di ITU-R
- ISO: ISO 8601 - Format tanggal dan waktu
- Wikipedia: Waktu Universal Terkoordinasi
- Wikipedia: Waktu Hemat Siang Hari
- Wikipedia: Greenwich Mean Time
- Catatan W3C: Format Tanggal dan Waktu
- Kiat W3C: Gunakan format tanggal internasional (ISO)