Pemformatan Tarikh Sensitif Tempatan dengan SimpleDateFormat
Memformat tarikh di Java boleh disesuaikan dengan tempat yang berbeza untuk memenuhi pilihan serantau. Kelas SimpleDateFormat menyediakan pilihan pemformatan asas, tetapi menyesuaikan pilihan ini untuk tempat tertentu menimbulkan cabaran.
Cabaran:
Buat program Java yang memformat tarikh dengan cara yang berbeza berdasarkan pada setempat. Sebagai contoh, pengguna Inggeris harus melihat "1 Nov 2009" ("MMM d, yyyy"), manakala pengguna Norway harus melihat "1. nov. 2009" ("d. MMM. yyyy").
Penyelesaian yang Dicadangkan:
Niat awal adalah untuk menambah rentetan format yang dipasangkan dengan tempat ke SimpleDateFormat. Walau bagaimanapun, ini tidak boleh dilaksanakan.
Penyelesaian Alternatif:
Daripada membina corak anda sendiri dengan SimpleDateFormat, gunakan DateFormat.getDateInstance(int style, Locale locale). Kaedah ini mencipta objek DateFormatter yang diprakonfigurasikan untuk gaya dan tempat tertentu.
Sebagai contoh, kod berikut mencipta dua objek DateFormatter, satu untuk bahasa Inggeris dan satu untuk bahasa Norway:
Locale englishLocale = Locale.ENGLISH; DateFormat englishDateFormatter = DateFormat.getDateInstance(DateFormat.SHORT, englishLocale); Locale norwegianLocale = new Locale("no", "NO"); DateFormat norwegianDateFormatter = DateFormat.getDateInstance(DateFormat.SHORT, norwegianLocale);
Menggunakan ini Objek DateFormatter, tarikh boleh diformat mengikut tempat yang ditentukan:
Date date = new Date(); String englishFormattedDate = englishDateFormatter.format(date); String norwegianFormattedDate = norwegianDateFormatter.format(date);
Pendekatan ini memastikan tarikh diformat dalam cara yang sesuai dengan budaya berdasarkan tempat yang ditentukan.
Atas ialah kandungan terperinci Bagaimana Anda Memformat Tarikh dalam Java untuk Tempatan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!