1 回答

TA貢獻(xiàn)1951條經(jīng)驗(yàn) 獲得超3個(gè)贊
不幸的是JXDatePicker,它依賴于舊的 Java 日期和時(shí)間類,包括Date和DateFormat。不幸的是,它們的設(shè)計(jì)很糟糕,后來(5 年前)被現(xiàn)代 Java 日期和時(shí)間 API java.time 所取代。您可能想研究是否可以找到更現(xiàn)代的日期選擇器組件來替換它。
如果做不到這一點(diǎn),JXDatePicker.setFormats則需要DateFormat對(duì)象或String對(duì)象。合理的解決方案是在將 a 傳遞給日期選擇器之前將其傳遞Locale給您:SimpleDateFormat
DateFormat dateFormat = new SimpleDateFormat("E, yyyy-MM-dd", Locale.ENGLISH);
對(duì)于從日期選擇器獲得的格式,Date您可以選擇在格式化之前將其轉(zhuǎn)換為現(xiàn)代類型:
DateTimeFormatter dateFormatter = DateTimeFormatter
.ofPattern("E, yyyy-MM-dd", Locale.ENGLISH);
Date oldfashionedDate = DateDP.getDate();
ZonedDateTime dateTime = oldfashionedDate.toInstant().atZone(ZoneId.systemDefault());
String dateString = dateTime.format(dateFormatter);
System.out.println(dateString);
為 指定英語語言環(huán)境可DateTimeFormatter確保格式化日期具有英語中星期幾的縮寫,例如:
2019-08-05 星期一
添加回答
舉報(bào)