【问题标题】:How to Convert Date String to OffsetDateTime如何将日期字符串转换为 OffsetDateTime
【发布时间】:2021-09-19 02:14:19
【问题描述】:

我有日期字符串,想把它转换成 Java.util.OffSetDateTime

尝试下面的代码,但得到异常 DateTimeParseException。

String ts="2020-06-01T13:46:45.641956";
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSS");
OffsetDateTime date = OffsetDateTime.parse(ts, fmt);
System.out.println(date);

【问题讨论】:

  • 小心你的标签。本题与Spring无关,与java.until.Date类无关。

标签: java datetime


【解决方案1】:

tl;博士

使用适当的类。并且,省略格式化程序。

LocalDateTime.parse( "2020-06-01T13:46:45.641956" )

查看此代码run live at IdeOne.com

详情

无需指定格式模式。

您的输入恰好符合ISO 8601 标准。 java.time 类在解析或生成文本时默认为这些标准格式。

但是您输入的类错误。您的输入没有任何与 UTC 偏移的迹象。所以你不能解析为OffsetDateTime。请改用LocalDateTime

LocalDateTime ldt = LocalDateTime.parse( "2020-06-01T13:46:45.641956" ) ;

【讨论】:

    猜你喜欢
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-24
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多