Java中可以使用DateTimeFormatter类来识别带时区的时间字符串的格式。以下是一个示例代码:\n\njava\nimport java.time.LocalDateTime;\nimport java.time.ZoneId;\nimport java.time.ZonedDateTime;\nimport java.time.format.DateTimeFormatter;\n\npublic class Main {\n public static void main(String[] args) {\n String dateTimeStr = "2021-09-01T12:34:56+08:00";\n\n DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ssXXX");\n ZonedDateTime zonedDateTime = ZonedDateTime.parse(dateTimeStr, formatter);\n\n LocalDateTime localDateTime = zonedDateTime.toLocalDateTime();\n ZoneId zoneId = zonedDateTime.getZone();\n\n System.out.println("LocalDateTime: " + localDateTime);\n System.out.println("ZoneId: " + zoneId);\n }\n}\n\n\n在上述代码中,我们使用DateTimeFormatter类的ofPattern方法指定了时间字符串的格式,"yyyy-MM-dd'T'HH:mm:ssXXX"表示年-月-日'T'小时:分钟:秒以及时区。然后,我们使用ZonedDateTime类的parse方法将时间字符串解析为ZonedDateTime对象。最后,我们可以通过toLocalDateTime方法获取不带时区的LocalDateTime对象,通过getZone方法获取时区信息。\n\n以上代码输出如下:\n\n\nLocalDateTime: 2021-09-01T12:34:56\nZoneId: Asia/Shanghai\n\n\n这表明成功识别了带时区的时间字符串,并将其解析为不带时区的LocalDateTime对象和ZoneId对象。

Java识别带时区的时间字符串格式 - 解析与示例代码

原文地址: https://www.cveoy.top/t/topic/qhTi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录