[英]Java Localize DateFormat Cannot format given Object as a Date
我希望獲得本地化的日期字符串。 為此,我正在做:
String dateString = "2019-06-01 00:15:00";
dateString = dateString.replace(" ", "T");
dateString = dateString.concat("Z");
DateFormat dateformat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.MEDIUM, Locale.FRENCH);
System.out.println(dateformat.format(dateString));
但是我收到以下異常:
java.lang.IllegalArgumentException:無法將給定對象格式化為日期
這有什么問題嗎?
String dateString = "2019-06-01 00:15:00";
dateString = dateString.replace(" ", "T");
dateString = dateString.concat("Z");
DateTimeFormatter formatter = DateTimeFormatter
.ofLocalizedDateTime(FormatStyle.SHORT, FormatStyle.MEDIUM)
.withLocale(Locale.FRENCH);
OffsetDateTime dateTime = OffsetDateTime.parse("2019-06-01T00:15:00Z");
String formattedDateTime = dateTime.format(formatter);
System.out.println("Formatted date/time: " + formattedDateTime);
輸出:
格式化日期/時間:01/06/2019 00:15:00
我建議您不要使用DateFormat
。 那個班級出了名的麻煩,而且早已過時。 而是使用java.time(現代Java日期和時間API)中的DateTimeFormatter
,如我的代碼所示。
對於您的代碼出了什么問題,請參閱我在底部鏈接到的類似問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.