第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

確定用戶 Locale 是日-月-年還是月-日-年

確定用戶 Locale 是日-月-年還是月-日-年

小唯快跑啊 2023-04-19 16:21:12
與使用日-月-年的世界其他地區(qū)不同,美國使用月-日-年格式。我想以編程方式確定用戶是使用日-月還是月-日。我可以通過以下方式做到這一點(diǎn),但我不確定是否有更簡(jiǎn)單的方法?String localisedDateFormat = ((SimpleDateFormat) SimpleDateFormat.getDateInstance()).toPattern().toLowerCase(); boolean usFormat = localisedDateFormat.indexOf('d') > localisedDateFormat.indexOf('m');我不認(rèn)為這對(duì)于 a 是可能的,DateTimeFormatter因?yàn)槟鸁o法獲得底層的pattern.
查看完整描述

1 回答

?
GCT1015

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊

TL;DR:調(diào)用此輔助方法,它返回YMD、DMY或MDY。


public static String getDateFieldOrder(Locale locale) {

? ? SimpleDateFormat fmt = ((SimpleDateFormat) DateFormat.getDateInstance(DateFormat.SHORT, locale));

? ? return fmt.toPattern().replaceAll("[^yMd]|(?<=(.))\\1", "").toUpperCase();

}

要獲取字段順序,請(qǐng)請(qǐng)求一個(gè)DateFormat,并分析用于構(gòu)建它的模式:


SimpleDateFormat fmt = ((SimpleDateFormat) DateFormat.getDateInstance(DateFormat.SHORT, locale));

String pattern = fmt.toPattern();

這會(huì)給你這樣的模式:


dd.MM.yy

M/d/yy

y-MM-dd

d. M. y

因此,刪除非字母和重復(fù)字母:


pattern = pattern.replaceAll("\\P{L}", "").replaceAll("(.)\\1+", "$1");

要查看潛在結(jié)果,您可以運(yùn)行此代碼 (Java 5+):


Map<String, Set<String>> map = new TreeMap<String, Set<String>>();

for (Locale locale : Locale.getAvailableLocales()) {

? ? SimpleDateFormat fmt = ((SimpleDateFormat) DateFormat.getDateInstance(DateFormat.SHORT, locale));

? ? String pattern = fmt.toPattern().replaceAll("\\P{L}", "").replaceAll("(.)\\1+", "$1");

? ? Set<String> set = map.get(pattern);

? ? if (set == null)

? ? ? ? map.put(pattern, set = new TreeSet<String>());

? ? set.add(locale.getDisplayName(Locale.US));

}

for (Entry<String, Set<String>> entry : map.entrySet())

? ? System.out.println(entry.getKey() + " = " + entry.getValue());

樣本輸出(Java 11)


如果需要,您也可以刪除G和r模式字母。而不是replaceAll("\\P{L}", ""),使用replaceAll("[^yMd]", "")。


toUpperCase()如果您喜歡YMD,DMY和 之類的值,當(dāng)然可以調(diào)用MDY。


查看完整回答
反對(duì) 回復(fù) 2023-04-19
  • 1 回答
  • 0 關(guān)注
  • 148 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)