当前位置: 首页 > 知识库问答 >
问题:

Java Localize DateFormat无法将给定对象格式化为日期

澹台鸿光
2023-03-14
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));

IllegalArgumentException:无法将给定对象格式化为日期

这里会出什么问题?

共有1个答案

宗政洋
2023-03-14
    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中的DateTimeFormatter,这是现代的Java日期和时间API,如我的代码所示。

    null
 类似资料: