1 回答

TA貢獻1951條經驗 獲得超3個贊
不幸的是JXDatePicker,它依賴于舊的 Java 日期和時間類,包括Date和DateFormat。不幸的是,它們的設計很糟糕,后來(5 年前)被現代 Java 日期和時間 API java.time 所取代。您可能想研究是否可以找到更現代的日期選擇器組件來替換它。
如果做不到這一點,JXDatePicker.setFormats則需要DateFormat對象或String對象。合理的解決方案是在將 a 傳遞給日期選擇器之前將其傳遞Locale給您:SimpleDateFormat
DateFormat dateFormat = new SimpleDateFormat("E, yyyy-MM-dd", Locale.ENGLISH);
對于從日期選擇器獲得的格式,Date您可以選擇在格式化之前將其轉換為現代類型:
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);
為 指定英語語言環境可DateTimeFormatter確保格式化日期具有英語中星期幾的縮寫,例如:
2019-08-05 星期一
添加回答
舉報