没有年份的格式化程序和本地化LocalDate(JSR-310) [英] Formatter and Localized LocalDate without year (JSR-310)

查看:60
本文介绍了没有年份的格式化程序和本地化LocalDate(JSR-310)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想将LocalDate格式化为本地化的日期和月份,而没有年份.

I want to format a LocalDate as a localized day and month, without a year.

我不知道如何创建这样的格式化程序.这个:

I can't figure how to create such formatter. This:

val formatter = DateTimeFormatter.ofLocalizedDate(FormatStyle.SHORT)

产生例如7/20/17,较长版本也包含一年.

produces e.g. 7/20/17, and the longer versions also include a year.

推荐答案

我猜你的问题是没有预定义的样式.您可以使用自定义模式,但请注意,您必须自己进行本地化.

I guess your problem is that there is no pre-defined style for that. You can use a custom pattern, but please note that you will have to take care of localization yourself.

        DateTimeFormatter formatter = DateTimeFormatter.ofPattern("MM/dd");

        System.out.println(LocalDateTime.now().format(formatter));

或者您可以像这样从短样式中推断出图案:

Or you could infer the pattern from the short style like that:

public static DateTimeFormatter dayMonthFormatter(Locale locale, FormatStyle style) {
    String pattern = DateTimeFormatterBuilder.getLocalizedDateTimePattern(style, null, IsoChronology.INSTANCE,
            locale);

    // now remove the year part and everything next to it
    // that is not day or month related plus one special case
    // of literal which contains a "d".
    pattern = pattern.replaceAll("((' de ')|[^dM]*)y[^dM]*", "");

    return new DateTimeFormatterBuilder().appendPattern(pattern).toFormatter(locale);
}

将产生以下结果:

#####  FormatStyle: SHORT ######
12/31 ()
31/12 (ar_AE)
31/12 (ar_JO)
31/12 (ar_SY)
31.12 (hr_HR)
31/12 (fr_BE)
12/31 (es_PA)
31/12 (mt_MT)
31/12 (es_VE)
31.12 (bg)
12/31 (zh_TW)
31/12 (it)
12. 31 (ko)
31.12 (uk)
31.12 (lv)
31-12 (da_DK)
12-31 (es_PR)
31/12 (vi_VN)
12/31 (en_US)
31.12 (sr_ME)
12-31 (sv_SE)
31-12 (es_BO)
31/12 (en_SG)
31/12 (ar_BH)
31-12 (pt)
31/12 (ar_SA)
31.12 (sk)
31/12 (ar_YE)
31/12 (hi_IN)
12/31 (ga)
31/12 (en_MT)
31.12 (fi_FI)
31.12 (et)
12-31 (sv)
31.12 (cs)
31.12 (sr_BA_#Latn)
31/12 (el)
31.12 (uk_UA)
12.31. (hu)
31.12 (fr_CH)
12/31 (in)
31/12 (es_AR)
31/12 (ar_EG)
12/31 (ja_JP_JP_#u-ca-japanese)
12-31 (es_SV)
31/12 (pt_BR)
31.12 (be)
31.12 (is_IS)
31.12 (cs_CZ)
31/12 (es)
31.12 (pl_PL)
31.12 (tr)
31/12 (ca_ES)
31.12 (sr_CS)
31/12 (ms_MY)
12.31 (hr)
12.31 (lt)
31/12 (es_ES)
31/12 (es_CO)
31.12 (bg_BG)
12-31 (sq)
31/12 (fr)
12/31 (ja)
12-31 (sr_BA)
31.12 (is)
31/12 (es_PY)
31.12 (de)
31/12 (es_EC)
12/31 (es_US)
31/12 (ar_SD)
12/31 (en)
31.12 (ro_RO)
12/31 (en_PH)
31/12 (ca)
31/12 (ar_TN)
31.12 (sr_ME_#Latn)
31/12 (es_GT)
31.12 (sl)
12. 31 (ko_KR)
31/12 (el_CY)
31/12 (es_MX)
31.12 (ru_RU)
12-31 (es_HN)
12月31日 (zh_HK)
31.12 (no_NO_NY)
12.31. (hu_HU)
31/12 (th_TH)
31/12 (ar_IQ)
31-12 (es_CL)
31.12 (fi)
31/12 (ar_MA)
31/12 (ga_IE)
31.12 (mk)
31.12 (tr_TR)
31.12 (et_EE)
31/12 (ar_QA)
31.12 (sr__#Latn)
31-12 (pt_PT)
31/12 (fr_LU)
31/12 (ar_OM)
31/12 (th)
12-31 (sq_AL)
31/12 (es_DO)
31/12 (es_CU)
31/12 (ar)
31.12 (ru)
31/12 (en_NZ)
31.12 (sr_RS)
31.12 (de_CH)
31/12 (es_UY)
12/31 (ms)
31/12 (el_GR)
31/12 (iw_IL)
12/31 (en_ZA)
31/12 (th_TH_TH_#u-nu-thai)
12/31 (hi)
31/12 (fr_FR)
31.12 (de_AT)
31-12 (nl)
31.12 (no_NO)
31/12 (en_AU)
31/12 (vi)
31-12 (nl_NL)
12-31 (fr_CA)
31.12 (lv_LV)
31.12 (de_LU)
31/12 (es_CR)
31/12 (ar_KW)
31.12 (sr)
31/12 (ar_LY)
31/12 (mt)
31.12 (it_CH)
31-12 (da)
31.12 (de_DE)
31/12 (ar_DZ)
31.12 (sk_SK)
12.31 (lt_LT)
31/12 (it_IT)
31/12 (en_IE)
31/12 (zh_SG)
31.12 (ro)
31/12 (en_CA)
31/12 (nl_BE)
31.12 (no)
12-31 (pl)
12-31 (zh_CN)
12/31 (ja_JP)
31.12 (de_GR)
31.12 (sr_RS_#Latn)
31/12 (iw)
31/12 (en_IN)
31/12 (ar_LB)
12-31 (es_NI)
12-31 (zh)
31.12 (mk_MK)
31.12 (be_BY)
31.12 (sl_SI)
31/12 (es_PE)
31/12 (in_ID)
31/12 (en_GB)
#####  FormatStyle: MEDIUM ######
Dec 31 ()
31/12 (ar_AE)
31/12 (ar_JO)
31/12 (ar_SY)
31.12 (hr_HR)
31-déc. (fr_BE)
12/31 (es_PA)
31 Diċ (mt_MT)
31/12 (es_VE)
31.12 (bg)
12/31 (zh_TW)
31-dic (it)
12. 31 (ko)
31 груд. (uk)
31.12 (lv)
31-12 (da_DK)
12-31 (es_PR)
31-12 (vi_VN)
Dec 31 (en_US)
31.12 (sr_ME)
dec-31 (sv_SE)
31-12 (es_BO)
31 Dec (en_SG)
31/12 (ar_BH)
31/dez (pt)
31/12 (ar_SA)
31.12 (sk)
31/12 (ar_YE)
31 दिसंबर (hi_IN)
Noll 31 (ga)
31 Dec (en_MT)
31.12 (fi_FI)
31.12 (et)
dec-31 (sv)
31.12 (cs)
31.12 (sr_BA_#Latn)
31 Δεκ (el)
31 груд. (uk_UA)
12.31. (hu)
31 déc. (fr_CH)
Des 31 (in)
31/12 (es_AR)
31/12 (ar_EG)
12/31 (ja_JP_JP_#u-ca-japanese)
12-31 (es_SV)
31/12 (pt_BR)
31.12 (be)
31.12 (is_IS)
31.12 (cs_CZ)
31-dic (es)
12-31 (pl_PL)
31.Ara (tr)
31/12 (ca_ES)
31.12 (sr_CS)
31 Disember (ms_MY)
12.31 (hr)
12-31 (lt)
31-dic (es_ES)
31/12 (es_CO)
31.12 (bg_BG)
12-31 (sq)
31 déc. (fr)
12/31 (ja)
12-31 (sr_BA)
31.12 (is)
31/12 (es_PY)
31.12 (de)
31/12 (es_EC)
dic 31 (es_US)
31/12 (ar_SD)
Dec 31 (en)
31.12 (ro_RO)
12 31 (en_PH)
31/12 (ca)
31/12 (ar_TN)
31.12 (sr_ME_#Latn)
31/12 (es_GT)
31.12 (sl)
12. 31 (ko_KR)
31 Δεκ (el_CY)
31/12 (es_MX)
31.12 (ru_RU)
12-31 (es_HN)
12月31日 (zh_HK)
31.des (no_NO_NY)
12.31. (hu_HU)
31 ธ.ค. (th_TH)
31/12 (ar_IQ)
31-12 (es_CL)
31.12 (fi)
31/12 (ar_MA)
31 Noll (ga_IE)
31.12 (mk)
31.Ara (tr_TR)
31.12 (et_EE)
31/12 (ar_QA)
31.12 (sr__#Latn)
31/dez (pt_PT)
31 déc. (fr_LU)
31/12 (ar_OM)
31 ธ.ค. (th)
12-31 (sq_AL)
31/12 (es_DO)
31-dic (es_CU)
31/12 (ar)
31.12 (ru)
31/12 (en_NZ)
31.12 (sr_RS)
31.12 (de_CH)
31/12 (es_UY)
Dis 31 (ms)
31 Δεκ (el_GR)
31/12 (iw_IL)
31 Dec (en_ZA)
31 ธ.ค. (th_TH_TH_#u-nu-thai)
Dec 31 (hi)
31 déc. (fr_FR)
31.12 (de_AT)
31-dec (nl)
31.des (no_NO)
31/12 (en_AU)
31-12 (vi)
31-dec (nl_NL)
12-31 (fr_CA)
31.12 (lv_LV)
31.12 (de_LU)
31/12 (es_CR)
31/12 (ar_KW)
31.12 (sr)
31/12 (ar_LY)
31 Diċ (mt)
31-dic (it_CH)
31-12 (da)
31.12 (de_DE)
31/12 (ar_DZ)
31.12 (sk_SK)
12-31 (lt_LT)
31-dic (it_IT)
31-Dec (en_IE)
31-十二月 (zh_SG)
31.12 (ro)
31-Dec (en_CA)
31-dec (nl_BE)
31.des (no)
12-31 (pl)
12-31 (zh_CN)
12/31 (ja_JP)
31.12 (de_GR)
31.12 (sr_RS_#Latn)
31/12 (iw)
31 Dec (en_IN)
31/12 (ar_LB)
12-31 (es_NI)
12-31 (zh)
31.12 (mk_MK)
31.12 (be_BY)
31.12 (sl_SI)
31/12 (es_PE)
31 Des (in_ID)
31-Dec (en_GB)
#####  FormatStyle: LONG ######
December 31 ()
31 ديسمبر (ar_AE)
31 كانون الأول (ar_JO)
31 كانون الأول (ar_SY)
prosinca 31 (hr_HR)
31 décembre (fr_BE)
31 de diciembre (es_PA)
31 ta’ Diċembru (mt_MT)
31 de diciembre (es_VE)
31 Декември (bg)
12月31日 (zh_TW)
31 dicembre (it)
12월 31일 (일) (ko)
31 грудня (uk)
31 decembris (lv)
31. december (da_DK)
31 de diciembre (es_PR)
31 tháng 12 (vi_VN)
December 31 (en_US)
31.12 (sr_ME)
den 31 december (sv_SE)
31 de diciembre (es_BO)
31 December (en_SG)
31 ديسمبر (ar_BH)
31 de Dezembro (pt)
31 ديسمبر (ar_SA)
decembra 31 (sk)
31 ديسمبر (ar_YE)
31 दिसंबर (hi_IN)
Nollaig 31 (ga)
31 December (en_MT)
31. joulukuuta (fi_FI)
pühapäev, 31. detsember (et)
den 31 december (sv)
31. prosince (cs)
31. decembar (sr_BA_#Latn)
31 Δεκεμβρίου (el)
31 грудня (uk_UA)
december 31. (hu)
31. décembre (fr_CH)
Desember 31 (in)
31 de diciembre (es_AR)
31 ديسمبر (ar_EG)
12/31 (ja_JP_JP_#u-ca-japanese)
31 de diciembre (es_SV)
31 de Dezembro (pt_BR)
нядзеля, 31, снежня (be)
31. desember (is_IS)
31. prosince (cs_CZ)
31 de diciembre (es)
31 grudnia (pl_PL)
31 Aralık (tr)
31 / de desembre (ca_ES)
31.12 (sr_CS)
31 Disember (ms_MY)
prosinca 31 (hr)
gruodis 31 (lt)
31 de diciembre (es_ES)
31 de diciembre (es_CO)
31 Декември (bg_BG)
12-31 (sq)
31 décembre (fr)
12/31 (ja)
31. децембар (sr_BA)
31. desember (is)
31 de diciembre (es_PY)
31. Dezember (de)
31 de diciembre (es_EC)
31 de diciembre (es_US)
31 ديسمبر (ar_SD)
December 31 (en)
31 decembrie (ro_RO)
December 31 (en_PH)
31 / de desembre (ca)
31 ديسمبر (ar_TN)
31.12 (sr_ME_#Latn)
31 de diciembre (es_GT)
31. december (sl)
12월 31일 (일) (ko_KR)
31 Δεκέμβριος (el_CY)
31 de diciembre (es_MX)
31 декабря (ru_RU)
31 de diciembre (es_HN)
12月31日 星期日 (zh_HK)
31. desember (no_NO_NY)
december 31. (hu_HU)
31 ธันวาคม (th_TH)
31 ديسمبر (ar_IQ)
31 de diciembre (es_CL)
31. joulukuuta (fi)
31 ديسمبر (ar_MA)
31 Nollaig (ga_IE)
31, декември (mk)
31 Aralık (tr_TR)
pühapäev, 31. detsember (et_EE)
31 ديسمبر (ar_QA)
31. decembar (sr__#Latn)
31 de Dezembro (pt_PT)
31 décembre (fr_LU)
31 ديسمبر (ar_OM)
31 ธันวาคม (th)
12-31 (sq_AL)
31 de diciembre (es_DO)
31 de diciembre (es_CU)
31 ديسمبر (ar)
31 декабря (ru)
31 December (en_NZ)
31.12 (sr_RS)
31. Dezember (de_CH)
31 de diciembre (es_UY)
Disember 31 (ms)
31 Δεκεμβρίου (el_GR)
31 דצמבר (iw_IL)
31 December (en_ZA)
31 ธันวาคม (th_TH_TH_#u-nu-thai)
December 31 (hi)
31 décembre (fr_FR)
31. Dezember (de_AT)
31 december (nl)
31. desember (no_NO)
31 December (en_AU)
31 tháng 12 (vi)
31 december (nl_NL)
31 décembre (fr_CA)
31 decembris (lv_LV)
31. Dezember (de_LU)
31 de diciembre (es_CR)
31 ديسمبر (ar_KW)
31.12 (sr)
31 ديسمبر (ar_LY)
31 ta’ Diċembru (mt)
31. dicembre (it_CH)
31. december (da)
31. Dezember (de_DE)
31 ديسمبر (ar_DZ)
decembra 31 (sk_SK)
gruodis 31 (lt_LT)
31 dicembre (it_IT)
31 December (en_IE)
31 十二月 (zh_SG)
31 decembrie (ro)
December 31 (en_CA)
31 december (nl_BE)
31. desember (no)
31 grudnia (pl)
12月31日 (zh_CN)
12/31 (ja_JP)
31. Dezember (de_GR)
31. decembar (sr_RS_#Latn)
31 דצמבר (iw)
31 December (en_IN)
31 كانون الأول (ar_LB)
31 de diciembre (es_NI)
12月31日 (zh)
31, декември (mk_MK)
нядзеля, 31, снежня (be_BY)
31. december (sl_SI)
31 de diciembre (es_PE)
31 Desember (in_ID)
31 December (en_GB)
#####  FormatStyle: FULL ######
Sunday, December 31 ()
31 ديسمبر (ar_AE)
31 كانون الأول (ar_JO)
31 كانون الأول (ar_SY)
prosinca 31 (hr_HR)
dimanche 31 décembre (fr_BE)
domingo 31 de diciembre (es_PA)
Il-Ħadd, 31 ta’ Diċembru (mt_MT)
domingo 31 de diciembre (es_VE)
31 Декември (bg)
12月31日 星期日 (zh_TW)
domenica 31 dicembre (it)
12월 31일 일요일 (ko)
неділя, 31 грудня (uk)
31 decembris (lv)
31. december (da_DK)
domingo 31 de diciembre (es_PR)
31 tháng mười hai (vi_VN)
Sunday, December 31 (en_US)
недеља, 31.децембар (sr_ME)
den 31 december (sv_SE)
domingo 31 de diciembre (es_BO)
Sunday, 31 December (en_SG)
31 ديسمبر (ar_BH)
Domingo, 31 de Dezembro (pt)
31 ديسمبر (ar_SA)
decembra 31 (sk)
31 ديسمبر (ar_YE)
रविवार, 31 दिसंबर (hi_IN)
Nollaig 31 (ga)
Sunday, 31 December (en_MT)
sunnuntai, 31. joulukuuta (fi_FI)
pühapäev, 31. detsember (et)
den 31 december (sv)
Neděle, 31. prosince (cs)
nedelja, 31. decembar (sr_BA_#Latn)
Κυριακή, 31 Δεκεμβρίου (el)
неділя, 31 грудня (uk_UA)
december 31. (hu)
dimanche, 31. décembre (fr_CH)
Desember 31 (in)
domingo 31 de diciembre (es_AR)
31 ديسمبر (ar_EG)
12月31日 (ja_JP_JP_#u-ca-japanese)
domingo 31 de diciembre (es_SV)
Domingo, 31 de Dezembro (pt_BR)
нядзеля, 31, снежня (be)
31. desember (is_IS)
Neděle, 31. prosince (cs_CZ)
domingo 31 de diciembre (es)
niedziela, 31 grudnia (pl_PL)
31 Aralık (tr)
diumenge, 31 / de desembre (ca_ES)
недеља, 31.децембар (sr_CS)
Ahad 31 Dis (ms_MY)
prosinca 31 (hr)
gruodis 31 (lt)
domingo 31 de diciembre (es_ES)
domingo 31 de diciembre (es_CO)
31 Декември (bg_BG)
12-31 (sq)
dimanche 31 décembre (fr)
12月31日 (ja)
недеља, 31. децембар (sr_BA)
31. desember (is)
domingo 31 de diciembre (es_PY)
Sonntag, 31. Dezember (de)
domingo 31 de diciembre (es_EC)
domingo 31 de diciembre (es_US)
31 ديسمبر (ar_SD)
Sunday, December 31 (en)
31 decembrie (ro_RO)
Sunday, December 31 (en_PH)
diumenge, 31 / de desembre (ca)
31 ديسمبر (ar_TN)
nedelja, 31. decembar (sr_ME_#Latn)
domingo 31 de diciembre (es_GT)
Nedelja, 31. december (sl)
12월 31일 일요일 (ko_KR)
Κυριακή, 31 Δεκέμβριος (el_CY)
domingo 31 de diciembre (es_MX)
31 декабря (ru_RU)
domingo 31 de diciembre (es_HN)
12月31日 星期日 (zh_HK)
31. desember (no_NO_NY)
december 31. (hu_HU)
วันอาทิตย์ที่ 31 ธันวาคม (th_TH)
31 ديسمبر (ar_IQ)
domingo 31 de diciembre (es_CL)
sunnuntai, 31. joulukuuta (fi)
31 ديسمبر (ar_MA)
Dé Domhnaigh 31 Nollaig (ga_IE)
недела, 31, декември (mk)
31 Aralık (tr_TR)
pühapäev, 31. detsember (et_EE)
31 ديسمبر (ar_QA)
nedelja, 31. decembar (sr__#Latn)
Domingo, 31 de Dezembro (pt_PT)
dimanche 31 décembre (fr_LU)
31 ديسمبر (ar_OM)
วันอาทิตย์ที่ 31 ธันวาคม (th)
12-31 (sq_AL)
domingo 31 de diciembre (es_DO)
domingo 31 de diciembre (es_CU)
31 ديسمبر (ar)
31 декабря (ru)
Sunday, 31 December (en_NZ)
недеља, 31.децембар (sr_RS)
Sonntag, 31. Dezember (de_CH)
domingo 31 de diciembre (es_UY)
Disember 31 (ms)
Κυριακή, 31 Δεκεμβρίου (el_GR)
יום ראשון 31 דצמבר (iw_IL)
Sunday 31 December (en_ZA)
วันอาทิตย์ที่ 31 ธันวาคม (th_TH_TH_#u-nu-thai)
Sunday, December 31 (hi)
dimanche 31 décembre (fr_FR)
Sonntag, 31. Dezember (de_AT)
zondag 31 december (nl)
31. desember (no_NO)
Sunday, 31 December (en_AU)
31 tháng mười hai (vi)
zondag 31 december (nl_NL)
dimanche 31 décembre (fr_CA)
31 decembris (lv_LV)
Sonntag, 31. Dezember (de_LU)
domingo 31 de diciembre (es_CR)
31 ديسمبر (ar_KW)
недеља, 31.децембар (sr)
31 ديسمبر (ar_LY)
Il-Ħadd, 31 ta’ Diċembru (mt)
domenica, 31. dicembre (it_CH)
31. december (da)
Sonntag, 31. Dezember (de_DE)
31 ديسمبر (ar_DZ)
decembra 31 (sk_SK)
gruodis 31 (lt_LT)
domenica 31 dicembre (it_IT)
31 December (en_IE)
31 十二月 (zh_SG)
31 decembrie (ro)
Sunday, December 31 (en_CA)
zondag 31 december (nl_BE)
31. desember (no)
niedziela, 31 grudnia (pl)
12月31日 星期日 (zh_CN)
12月31日 (ja_JP)
Sonntag, 31. Dezember (de_GR)
nedelja, 31. decembar (sr_RS_#Latn)
יום ראשון 31 דצמבר (iw)
Sunday, 31 December (en_IN)
31 كانون الأول (ar_LB)
domingo 31 de diciembre (es_NI)
12月31日 星期日 (zh)
недела, 31, декември (mk_MK)
нядзеля, 31, снежня (be_BY)
Nedelja, 31. december (sl_SI)
domingo 31 de diciembre (es_PE)
Minggu 31 Desember (in_ID)
Sunday, 31 December (en_GB)

这篇关于没有年份的格式化程序和本地化LocalDate(JSR-310)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆