Laman » Pengekodan » Memaparkan Tarikh dan Masa Bagaimana Membuat Betul

    Memaparkan Tarikh dan Masa Bagaimana Membuat Betul

    Kami menemui mereka tarikh dan masa ... baik, setiap hari. Apabila ia datang ke Web, anda boleh melihatnya dalam apl mudah alih anda, dalam e-mel, dalam aplikasi pemesejan anda dan banyak tempat lain. Namun walaupun melihat tarikh dan masa setiap hari dan di mana-mana sahaja, kita masih belum mengamalkan format universal untuknya.

    Contohnya, jika saya menulis 10/05/2015, anda tidak boleh pasti jika "10" itu adalah bulan atau tarikh kecuali jika saya memberitahu anda di mana saya berada. Kadang-kadang format berubah, kali lain bahasa.

    Adalah penting bahawa sebagai pemaju web kita memberi perhatian kepada tarikh dan masa yang kita berurusan dengan dalam projek-projek kita, supaya kita boleh memenuhi mereka kepada penduduk geografi yang berbeza tanpa sebarang konflik. Dalam siaran ini kita akan berbincang apa yang harus dielakkan dan apa yang perlu dipeluk apabila ia datang untuk memaparkan tarikh waktu.

    Globalisasi

    Katakan kita tidak mahu menukar dan menunjukkan format tarikh dan masa yang berbeza kepada penonton yang berbeza di seluruh dunia, apa yang boleh kita lakukan? Kami memilih satu format global dan berpegang teguh dengannya. Di sinilah beberapa piawaian dimainkan. Sebelum kita sampai pada itu, saya harus menasihatkan bahawa W3C mengesyorkan bahawa kita menggunakan format tarikh ISO 8601 dengan zon waktu UTC.

    ISO 8601

    ISO 8601 menerangkan cara yang diterima secara antarabangsa untuk mewakili tarikh dan masa menggunakan nombor.

    Dan format untuk tarikh lengkap adalah; YYYY-MM-DD, sebagai contoh: 2015-07-28

    YYYY = 4 digit tahunMM = 2 digit bulan (01 = Januari, dsb.)DD = 2 hari (01 hingga 31)

    Untuk tarikh waktu lengkap;YYYY-MM-DDThh: mm: ss.s, sebagai contoh: 2015-07-28T21: 15: 18.45

    T = Untuk memisahkan tarikh dan masa mengikut ISO 8601mm = 2 digit minit (00 hingga 59)ss = 2 digit kedua (00 hingga 59)s = pecahan pecahan detik, 1 atau lebih digit

    Sila ambil perhatian bahawa tidak ada zon waktu yang telah disebutkan dalam contoh di atas supaya ia diandaikan bahawa masa berada di zon waktu setempat. Sekiranya anda memutuskan untuk menggunakan zon waktu UTC, tambahkan sahaja Z kepada nilai untuk menandakan UTC

    Sebagai contoh: 2015-07-28T21: 15: 18.45Z

    Tetapi jika anda ingin memaparkan waktu setempat, maka anda boleh menambah offset zon waktu untuk UTC ke nilai dalam format +hh: mm atau -hh: mm seperti yang diperlukan.

    Sebagai contoh: Marilah kita anggap 2015-07-28T21: 15: 18.45 berada dalam zon masa EST (Waktu Sempurna Timur) yang kurang 5 jam di belakang zon waktu UTC.

    Untuk mewakilinya dengan UTC offset kami menulis 2015-07-28T21: 15: 18.45-05: 00 yang bersamaan dengan waktu UTC 2015-07-29T02: 15: 18.45Z.

    Sekali lagi Z dilampirkan untuk mewakili bahawa masa yang dipaparkan dipaparkan dalam masa UTC.

    UTC vs GMT

    Mereka berdua sama tetapi berbeza. Sekarang anda mungkin datang di GMT sekurang-kurangnya sekali; semasa menubuhkan tarikh masa di telefon bimbit atau komputer anda. Ia adalah zon waktu yang paling popular diiktiraf di seluruh dunia kerana ia telah wujud lebih lama daripada UTC.

    Walaupun ada yang mengatakan bahawa mereka berdua adalah sama tetapi mereka tidak, UTC adalah pengganti GMT dan dikekalkan oleh Kesatuan Telekomunikasi Antarabangsa. Dinasihatkan merujuk kepada masa berdasarkan UTC dan bukan GMT.

    Gunakan Nama Bulan Ini

    Standard ISO hanya menggunakan nombor dalam perwakilan tarikh untuk mengelakkan sebarang konflik bahasa. Tetapi, jika kandungan aplikasi web anda akan dalam bahasa Inggeris, maka anda harus mempertimbangkan menulis bulan dalam bahasa Inggeris daripada nombor.

    Sebaliknya 2015-07-28, 28, Julai, 2015 lebih mudah difahami oleh ramai, dan kurang mengelirukan.

    Penyetempatan

    Terdapat kalanya kami ingin menjadi sangat khusus dengan perkhidmatan kami dan ingin mewakili tarikh dan masa dalam masa dan bahasa tempatan. Terdapat banyak perpustakaan dan API yang tersedia untuk pemaju web untuk menggunakan dan memaparkan tarikh dan masa mengikut kawasan akses.

    Anda boleh mendapatkan lokasi lalai pelayar sama ada dengan mentafsirkannya Terima-Bahasa permintaan header atau melalui navigator.language atau navigator.browserLanguage Objek JavaScript, tetapi kaedah terbaik adalah biarkan pengguna memilih tempat dalam permohonan anda sejak dahulu cara tidak begitu boleh dipercayai.

    Sebaik sahaja anda mempunyai locale, anda boleh memformat masa tarikh mengikutinya, contohnya menggunakan API pengantarabangsaan, anda boleh memformat tarikh menggunakan toLocaleDateString dalam JavaScript, misalnya, myDate.toLocaleDateString ('ko-KR') akan memulangkan tarikh diformat dalam format yang digunakan di Korea oleh orang asli berbahasa Korea.

    Waktu Penjimatan Siang (DST)

    Di negara-negara tertentu siang hari penjimatan dilakukan dengan meneruskan jam dengan satu jam pada musim panas untuk memanfaatkan cahaya matahari tambahan yang tersedia. Perhatikan DST untuk bersaing dengan waktu tempatan dalam perkhidmatan anda.

    Tiada Tahun Dua Digit

    Semasa menyesuaikan tarikh dan masa penyetempatan tidak menggunakan format dua digit untuk tahun pada bila-bila masa. Kita sudah berada di abad ke-21. Menggunakan tahun seperti 64, 99 dan lain-lain akan menyusahkan pada masa akan datang. Jika anda sudah mempunyai sistem tahun dua digit di tempat, pertimbangkan untuk mengubahnya.

    Leap Year And Other Calendars

    Marilah kita mengakhiri jawatan ini dengan beberapa perkara yang perlu diingat ketika berurusan dengan tarikh. Jika anda tidak menggunakan mana-mana perpustakaan atau API untuk tarikh dan suka berurusan dengan mereka sendiri (iaitu tidak disyorkan sebaliknya), jangan lupa untuk menunjukkan 29hb Februari dalam input untuk tahun-tahun lompat.

    Juga, perlu diperhatikan bahawa Kalendar Gregorian bukan satu-satunya bentuk kalendar yang tersedia dan digunakan seluruh dunia. Terdapat beberapa kalendar serantau yang diikuti penduduk setempat, terutamanya ketika datang untuk perayaan.

    Rujukan

    • Kesatuan Telekomunikasi Antarabangsa: Status Penyelarasan Waktu Sejagat (UTC) dalam ITU-R
    • ISO: ISO 8601 - Format tarikh dan masa
    • Wikipedia: Waktu Universal yang diselaraskan
    • Wikipedia: Waktu Penjimatan Saja
    • Wikipedia: Greenwich Mean Time
    • W3C Nota: Format Tarikh dan Masa
    • Tips W3C: Gunakan format tarikh antarabangsa (ISO)