字符串到 LocalDateTime 的转换:java.time.format.DateTimeParseException [重复]
Posted
技术标签:
【中文标题】字符串到 LocalDateTime 的转换:java.time.format.DateTimeParseException [重复]【英文标题】:String to LocalDateTime conversion : java.time.format.DateTimeParseException [duplicate] 【发布时间】:2018-08-09 16:54:16 【问题描述】:我正在使用下面的代码来转换字符串中的日期:
String strDate="Thu Aug 09 16:01:46 IST 2018";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS");
LocalDateTime dateTime = LocalDateTime.parse(strDate,formatter);
我收到以下异常:
java.time.format.DateTimeParseException: Text 'Thu Aug 09 16:01:46 IST 2018' could not be parsed at index 0
变量“strDate”中的格式将是相同的,并且无法修改,因为我将从不同的应用程序中获取该格式
【问题讨论】:
我需要将输入字符串转换为'yyyy-MM-dd HH:mm:ss.SSS'格式。 输入字符串的模式应该与解析器匹配,一旦你从解析器获得日期,然后再次将日期转换为你想要的模式。这是一个两步过程 【参考方案1】:输入字符串的日期格式为:E MMM dd HH:mm:ss z yyyy
。下面的代码应该可以正常工作
public static void main(String[] args) throws IOException
String strDate = "Thu Aug 09 16:01:46 IST 2018";
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("E MMM dd HH:mm:ss z yyyy");
LocalDateTime dateTime = LocalDateTime.parse(strDate, formatter);
【讨论】:
以上是关于字符串到 LocalDateTime 的转换:java.time.format.DateTimeParseException [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在不将 LocalDateTime 字段转换为扩展的 json 对象的情况下将 java 对象转换为简单的 json 字符串?
Jackson无法将LocalDateTime序列化成字符串的解决办法
Java - LocalDateTime解析日期字符串值时丢弃秒值“00“,如“2021-07-01 15:33:00“ 转换为“2021-07-01T15:33“
Java - LocalDateTime解析日期字符串值时丢弃秒值“00“,如“2021-07-01 15:33:00“ 转换为“2021-07-01T15:33“
Java - LocalDateTime解析日期字符串值时丢弃秒值“00“,如“2021-07-01 15:33:00“ 转换为“2021-07-01T15:33“
Java - LocalDateTime解析日期字符串值时丢弃秒值“00“,如“2021-07-01 15:33:00“ 转换为“2021-07-01T15:33“