首页 > 图灵资讯 > 技术篇>正文
Java代码实现带时区时间字符串转为LocalDateTime对象
2023-06-07 09:41:02
没有时间字符串
Java可以使用 8中的DatetimeFormater类将字符串转换为Localdatetime对象。以下是示例代码:
import java.time.LocalDateTime;import java.time.format.DateTimeFormatter;public class DateTimeConversionExample { public static void main(String[] args) { String timeString = "2023-05-18T10:59:40"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss"); LocalDateTime dateTime = LocalDateTime.parse(timeString, formatter); System.out.println(dateTime); }}
在上述代码中,我们首先定义了一个时间字符串,然后创建了一个DatetimeFormater对象,定义了时间字符串的格式。接下来,我们将时间字符串转换为Localdatetime对象,并将其打印到控制台上。
请注意,Datetimeformatter对象中的时间格式必须与时间字符串的格式完全匹配,否则Datetimeparsexception将被抛出异常。
带时区时间字符串若要实现带时区时间字符串转为Localdatetime对象:
import java.time.LocalDateTime;import java.time.OffsetDateTime;import java.time.format.DateTimeFormatter;public class TimeZoneDateTimeConverter { public static void main(String[] args) { String dateTimeStr = "2023-04-20T20:15:10.000+08:00"; LocalDateTime localDateTime = convertTimeZoneStringToLocalDateTime(dateTimeStr); System.out.println(localDateTime); } public static LocalDateTime convertTimeZoneStringToLocalDateTime(String timeZoneDateTimeStr) { DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSXXX"); OffsetDateTime offsetDateTime = OffsetDateTime.parse(timeZoneDateTimeStr, formatter); return offsetDateTime.toLocalDateTime(); }}
我们在这里使用它OffsetDateTime
类别,它可以理解和处理带有时间区域的时间。我们还定义了一个日期格式对象,以确保我们能够分析时间区域的时间字符串,该格式对象所需的格式是:"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"
。
Java版本使用本代码示例需要超过8个或更多。
与官方知识档案相匹配的文章知识点可以进一步学习相关知识