Bunu doğrulamak için, sanal makinedeki tüm yerel ayarları kullanabilmek için bir kod parçası verilmiştir.
Çalışmıyor olan yerel kullanıcılar için nedenini merak ettim, bu yüzden bir zamanı ayrıştırmak yerine, geçerli bir saati biçimlendiriyorum. UTF-8 çıkışını etkinleştirmek zorundaydı, ancak görmek ilginç.
Birleşik Devletleri varyantı (es_US
) çalışıyor olması. Hmmm ........ Set<String> good = new TreeSet<>();
Set<String> bad = new TreeSet<>();
for (Locale locale : Locale.getAvailableLocales()) {
try {
new SimpleDateFormat("hh:mmaa", locale).parse("01:20pm");
good.add(locale.toLanguageTag());
} catch (ParseException e) {
bad.add(locale.toLanguageTag());
}
}
System.out.println("Good locales: " + good);
Date time = new SimpleDateFormat("hh:mmaa", Locale.ENGLISH).parse("01:20pm");
System.out.println("Bad locales:");
for (String languageTag : bad)
System.out.printf(" %-5s: %s%n", languageTag, new SimpleDateFormat("hh:mmaa", Locale.forLanguageTag(languageTag)).format(time));
ÇIKIŞ Good locales: [be, be-BY, bg, bg-BG, ca, ca-ES, da, da-DK, de, de-AT, de-CH, de-DE, de-GR, de-LU, en, en-AU, en-CA, en-GB, en-IE, en-IN, en-MT, en-NZ, en-PH, en-SG, en-US, en-ZA, es, es-AR, es-BO, es-CL, es-CO, es-CR, es-CU, es-DO, es-EC, es-ES, es-GT, es-HN, es-MX, es-NI, es-PA, es-PE, es-PR, es-PY, es-SV, es-UY, es-VE, et, et-EE, fr, fr-BE, fr-CA, fr-CH, fr-FR, fr-LU, he, he-IL, hi, hr, hr-HR, id, id-ID, is, is-IS, it, it-CH, it-IT, lt, lt-LT, lv, lv-LV, mk, mk-MK, ms, ms-MY, nl, nl-BE, nl-NL, nn-NO, no, no-NO, pl, pl-PL, pt, pt-BR, pt-PT, ro, ro-RO, ru, ru-RU, sk, sk-SK, sl, sl-SI, sr, sr-BA, sr-CS, sr-Latn, sr-Latn-BA, sr-Latn-ME, sr-Latn-RS, sr-ME, sr-RS, tr, tr-TR, uk, uk-UA, und]
Bad locales:
ar : 01:20م
ar-AE: 01:20م
ar-BH: 01:20م
ar-DZ: 01:20م
ar-EG: 01:20م
ar-IQ: 01:20م
ar-JO: 01:20م
ar-KW: 01:20م
ar-LB: 01:20م
ar-LY: 01:20م
ar-MA: 01:20م
ar-OM: 01:20م
ar-QA: 01:20م
ar-SA: 01:20م
ar-SD: 01:20م
ar-SY: 01:20م
ar-TN: 01:20م
ar-YE: 01:20م
cs : 01:20odp.
cs-CZ: 01:20odp.
el : 01:20μμ
el-CY: 01:20ΜΜ
el-GR: 01:20μμ
es-US: 01:20p.m.
fi : 01:20ip.
fi-FI: 01:20ip.
ga : 01:20p.m.
ga-IE: 01:20p.m.
hi-IN: ०१:२०अपराह्न
hu : 01:20DU
hu-HU: 01:20DU
ja : 01:20午後
ja-JP: 01:20午後
ja-JP-u-ca-japanese-x-lvariant-JP: 01:20午後
ko : 01:20오후
ko-KR: 01:20오후
mt : 01:20WN
mt-MT: 01:20WN
sq : 01:20MD
sq-AL: 01:20MD
sv : 01:20em
sv-SE: 01:20em
th : 01:20หลังเที่ยง
th-TH: 01:20หลังเที่ยง
th-TH-u-nu-thai-x-lvariant-TH: ๐๑:๒๐หลังเที่ยง
vi : 01:20CH
vi-VN: 01:20CH
zh : 01:20下午
zh-CN: 01:20下午
zh-HK: 01:20下午
zh-SG: 01:20下午
zh-TW: 01:20下午
o yerel bir mesele olabilir? Varsayılan olarak nedir? Locale.US –
hangi JDK sürümünü kullanıyorsunuz, bu JDK_1.8 –
Lord ile oldukça iyi çalışıyor, bu bir yerel sorun oldu !! Ne… Neden yeryüzünde yeryüzü buradaki bir sorun olurdu? Aslında hh: mmaa'yı farklı şekilde yorumlayan başka yereller var mı? – Xiagua