为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕无忌1623718 2023-05-17 15:50:23
我希望获得本地化的日期字符串。为此,我正在做: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:无法将给定对象格式化为日期这里有什么问题?
查看完整描述

1 回答

?
守候你守候我

TA贡献1802条经验 获得超10个赞

java.time

    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. 该类是出了名的麻烦且早已过时。而是使用DateTimeFormatter现代 Java 日期和时间 API from java.time,如我的代码所示。


对于您的代码中出了什么问题,请参阅我在底部链接到的类似问题。


查看完整回答
反对 回复 2023-05-17
  • 1 回答
  • 0 关注
  • 82 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信