首页 > 解决方案 > 如何将具有偏移时间(+05:30)的日期时间解析为 LocalDateTime

问题描述

下面的表达式不起作用。我想转换2020-05-05T01:01:01.000+05:302020-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")

标签: javajodatime

解决方案


您的输入是日期/时间字符串,偏移量为 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

推荐阅读