Di Kanada, semua orang terbiasa dengan format tanggal YYYY-MM-DD
. Di Eropa atau Afrika Selatan, mereka lebih suka DD-MM-YYYY
. Ada pengguna dari Afrika Selatan yang bingung dengan YYYY-MM-DD
format tanggal. Apakah ada cara untuk menangani situasi ini?
Saya sedang berpikir untuk menggunakan format metode berikut untuk semua: Feb 02, 2011
websites
date-format
formatting
standards
ambiguity
Thierry Lam
sumber
sumber
DD-MM-YYYY
." Kecuali misalnya di Hongaria (YYYY.MM.DD
) atau Finlandia (DD.MM.YYYY
), atau ... Maaf, kenyataannya berantakan :-(prefix_1999_12_23_16_45_53.ext
. Alasan utama: ini sangat mudah untuk disortir, CARI dan parsing. Saat mencari, Anda benar-benar ingin memulai dengan unit yang paling penting terlebih dahulu untuk mencapai sasaran ASAP. String semacam ini bahkan bersahabat dengan pohon biner. Laboratorium itu didominasi oleh siswa dari Eropa, tetapi saya pikir ini hanya akal sehat, jika bukan standar ilmiah. Namun, di negara tempat saya tumbuh dewasa, kami akan menggunakan DD-MM-YYYY untuk penggunaan sehari-hari. Alasan: ketika Anda bangun, apa bagian pertama yang ingin Anda ketahui?Jawaban:
Bagian yang ambigu adalah untuk membedakan hari dari bulan jika mereka diwakili oleh angka.
Apakah 02/03 berarti 03 Februari atau 02 Maret?
Dengan mengubah pengidentifikasi bulan dari nomornya dengan namanya, Anda menghapus ambiguitas itu. Untuk menjawab pertanyaan Anda, varian Anda
Feb 02, 2011
sepertinya merupakan solusi yang baik.Masih ada masalah potensial dengan nomor tahun jika Anda menulisnya hanya dengan 2 digit, tetapi kemudian mudah diperbaiki (gunakan 4).
sumber
Tidak. Tidak ada format tanggal yang diakui secara universal.
ISO 8601 Menentukan standar internasional untuk format tanggal. Karena itu, ini mungkin kompromi terbaik. Tetapi seperti yang Anda katakan, pengguna tidak selalu menyukai format ini.
Satu-satunya solusi yang tepat adalah menyajikan format yang berbeda untuk negara yang berbeda. Anda mungkin menemukan bahwa ada perpustakaan standar untuk mencapai hal ini jika bahasa pemrograman pilihan Anda memiliki pengikut yang signifikan.
sumber
Anda harus menggunakan info budaya untuk itu. Atau setidaknya format tampilan lokal.
Dalam JavaScript, Anda bisa menggunakan metode toLocaleString untuk kelas Date .
Untuk C # Anda dapat menggunakan string format saat menggunakan ToString .
Pencarian Google cepat harus menunjukkan kepada Anda bagaimana menggunakan budaya dalam bahasa pilihan Anda.
sumber
Saya akan menggunakan YYYY-MM-DD (dan selalu menuliskan tahun dan digit empat digit bulan dan hari). YYYY-DD-MM, setahu saya, jarang terjadi, jadi format YYYY-MM-DD adalah yang paling tidak ambigu, dan pada akhirnya pengguna Anda akan mengerti. Juga, Anda mendapatkan keuntungan menyortir sepele.
sumber
Dapatkah Anda memberikan masing-masing pengguna lokalnya sendiri, yang kemudian memberikan tanggal dan informasi lainnya sesuai dengan preferensi lokal mereka?
sumber
Sering kali Anda dapat mengonfigurasi lokal dan menggunakan I18n di sebagian besar kerangka kerja.
sumber
Anda akan, dalam kasus umum, perlu menentukan format dan nilainya. Ini adalah satu-satunya cara untuk menghindari kebingungan. Misalnya, Anda dapat mengatakan "2011-02-02 (YYYY-MM-DD)". Itu datang dengan mengorbankan kesederhanaan dan keterbacaan, jadi kenal audiens Anda.
Anda dapat, tentu saja, mengatakan "Selanjutnya, semua tanggal dalam format YYYY-MM-DD ...." Kemudian "2011-02-02" yang muncul nanti akan menjadi tidak ambigu. Itu bisa lebih enak, tetapi sekali lagi, kenali audiens Anda.
sumber
Saran ini mungkin tidak berguna, tetapi saya telah melihat bulan ditulis sebagai angka romawi. Tentu, 3 / XI / 2011 mungkin 11 November atau 3 Maret, tapi saya kira interpretasi pertama lebih alami.
sumber
Saya akan mengatakan bahwa itu tergantung pada apa yang Anda lakukan, berapa banyak kendali yang Anda miliki atas input, dan apakah Anda menyimpannya di suatu tempat?
Untuk penyimpanan, saya akan menggunakan apa yang disarankan oleh Mike Dunlavey:
Dia tidak meninggalkan ini sebagai jawaban, jadi saya akan melakukannya.
Satu hal lagi: lihat cuplikan layar berikut tentang cara memasukkan tanggal kedaluwarsa CC: http://www.ubercart.org/files/credit_card_checkout.jpg
Hal yang hebat tentang contoh ini adalah tidak membuat Anda berpikir. Ia menggunakan angka dan nama untuk bulan itu. Saya akan mempertimbangkan menggunakan sesuatu yang serupa untuk input. Untuk bulan itu, sertakan nomor dan nama yang dilokalkan. Untuk tahun dan hari, gunakan angka Atas / Bawah atau kotak kombo. Kemudian, kontrol kalender juga tampak bagus.
Seperti yang saya katakan, itu tergantung. Untuk penyimpanan: jika menggunakan database, periksa apakah sudah menyediakan format data yang jelas dan baik. Jika menggunakan beberapa metode lain, lihat apakah "YYYYMMDDHHMMSS di mana jam berada di UTC" membantu. Untuk menyajikannya kepada pengguna - pertimbangkan negara / lokal apa yang mungkin terlibat, kemudian pilih jenis perwakilan yang paling mudah, "Jangan buat saya berpikir". Juga pertimbangkan untuk memberikan opsi.
Akhirnya, periksa beberapa produk keren yang sudah melakukan hal serupa, dan cobalah mencari tahu bagaimana mereka melakukannya.
sumber
Tidak ada format tanggal dan waktu universal untuk pengguna akhir situs web. Juga tidak ada nilai waktu tanggal tunggal karena nilainya berbeda per zona waktu klien. Anda harus menggunakan globalisasi - penargetannya untuk data, waktu, mata uang, kalender, format nubmer berdasarkan budaya pengguna (dapat diterima dari bahasa yang diterima yang dilewatkan dari browser pengguna atau dengan sakelar yang diterapkan langsung di aplikasi Anda). Beberapa API (misalnya. NET) memiliki dukungan langsung dari fitur ini.
Untuk menyimpan tanggal dan waktu dalam databse gunakan format universal - UTC (koordinat waktu universal).
sumber
Sangat disayangkan bahwa semua intelijen di dunia komputasi internasional tidak dapat memecahkan masalah ini.
Bukan Microsoft atau vendor lain yang mempertimbangkan untuk menambahkan topeng tanggal yang akan membuat Bulan tampak kosong, seperti Hari, tetapi sebagai tiga digit. Adopsi praktik akan membantu mempromosikan serangkaian format tanggal yang dimodifikasi yang setara secara matematis sambil tetap mudah diidentifikasi dan dibedakan dalam tata letak tanggal tradisional mana pun. Itu adalah:
0MM-DD-YYYY, mis. 002-03-2016 untuk 03 Februari 2016
DD-0MM-YYYY, mis. 03-002-2016 untuk 03-Feb-2016
YYYY-0MM-DD, mis. 2016-002-03 untuk 2016-02-03
YYYY-DD-0MM, mis. 2016-03-002 (kalau ada yang mau menggunakannya!)
Sepertinya terlalu mudah untuk memperbaikinya dengan cara ini ... Saya kira sederhana tidak terjual dengan baik.
sumber