【问题标题】:How to parse date time with offset Time (+05:30) into LocalDateTime如何将具有偏移时间(+05:30)的日期时间解析为 LocalDateTime
【发布时间】:2020-08-15 00:42:08
【问题描述】:

下面的表达式不起作用。我想将2020-05-05T01:01:01.000+05:30 转换为2020-05-05T01:01:01。但在此之前,我需要将其解析为 LocalDateTime。问题出在“+00:00”部分,不知道如何格式化。

LocalDateTime.parse("2020-05-05T01:01:01.000+05:30", "yyyy-MM-dd'T'HH:mm:ss.SSS+00:00")

【问题讨论】:

    标签: java jodatime


    【解决方案1】:

    您的输入是日期/时间字符串,与 UTC 相差 5 小时 30 分钟,因此只需将其直接解析为 OffsetDateTime

    String dateTimeString = "2020-05-05T01:01:01.000+05:30";
    
    OffsetDateTime offsetDateTime = OffsetDateTime.parse(dateTimeString);
    

    然后从中获取LocalDateTime

    offsetDateTime.toLocalDateTime();  //2020-05-05T01:01:01
    

    【讨论】:

    • 这并没有引发异常,但由于时区差异,我面临着这个问题。对于某些日期,我会为其他日期获得 T01:01 和 T06:31。有什么方法可以让我们使用时区获得一致的结果。就像我们为 DateTimeFormatter 添加时区
    猜你喜欢
    • 2021-11-28
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多