将字符串转换为LocalDateTime Java 8

R111:

我正在尝试将以下字符串转换为LocalDateTime:

String dateStr = "2020-08-17T10:11:16.908732"; 

DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.nnnnnn");
LocalDateTime dateTime = LocalDateTime.parse(dateStr, format);

但是我遇到了以下错误:

java.time.format.DateTimeParseException: Text '2020-08-17T10:11:16.908732' could not be parsed at index 10
    at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1949)
    at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851)
    at java.time.LocalDateTime.parse(LocalDateTime.java:492)

谁能帮忙建议我应该如何将字符串正确格式化为LocalDateTime?

非常感谢

德哈尔:

DateTimeFormatter在这种情况下,您无需指定a ,因为如果您根本不通过,则将使用默认值:

public static void main(String[] args) {
    String dateStr = "2020-08-17T10:11:16.908732";
    LocalDateTime dateTime = LocalDateTime.parse(dateStr);
    System.out.println(dateTime);
}

该代码将输出2020-08-17T10:11:16.908732

如果您坚持使用自定义DateTimeFormatter,请T在模式中用单引号将其考虑在内,而不要使用纳秒解析(n)来解析秒()的分数,S否则结果可能是错误的。

像这样做:

public static void main(String[] args) {
    String dateStr = "2020-08-17T10:11:16.908732"; 
    DateTimeFormatter format = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss.SSSSSS");
    LocalDateTime dateTime = LocalDateTime.parse(dateStr, format);
    System.out.println(dateTime);
}

具有与上述相同的输出。

注意:
使用模式的结果"yyyy-MM-dd'T'HH:mm:ss.nnnnnn"将不等于parsed String,而是

2020-08-17T10:11:16.000908732

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将字符串转换为Java 8字符流?

如何在Java 8中将字符流转换为字符串

如何使用Java 8流将字符串数组转换为Big-integer数组

在Java 8中,将Optional.empty中的空字符串的Optional <String>转换为

使用Java 8将字符串转换为对象列表

使用Java 8流将位字符串转换为枚举数组

使用Java 8将字符串转换为DateTime对象

在Java8中将SQL日期转换为字符串

Java 8:使用Stream.of()将逗号分隔的字符串转换为通用列表

使用Java 8 Lambda将地图转换为字符串

Java 8 LocalDateTime-如何在字符串转换中保留.000毫秒

在Java中将字符串转换为LocalDateTime

Java的8:如何字符串转换为地图<String,字符串>?

如何将Java对象转换为简单的json字符串而不将LocalDateTime字段转换为扩展的json对象?

Spring MVC中LocalDateTime(java 8)的Json字符串

如何将日期时间字符串中的Java 8转换为长(UNIX大纪元)(斯卡拉)

使用Java 8将字符串数组转换为int数组的最简单方法是什么?

Java 8:将具有字符串值的映射转换为包含其他类型的列表

Java的8流,对象的转换列表地图<字符串,将<字符串>>

如何将ISO 8601日期时间字符串转换为java.util.LocalDateTime?

将Java 8的LocalDateTime转换为Joda的LocalDateTime的简单方法

将Java源文件转换为utf-8并将eclipse设置为utf-8后,字符串显示问题

如何在Java 8+中将范围转换为定界字符串

int类型的Java 8字符串转换为List <Integer>

如何对象的多个属性转换为列表<字符串>用java 8

如何在 Java 中将 ASCII 值转换为 UTF-8 字符串?9812 -> ♔

Java的8 - 类型不匹配:不能从列表<Serializable接口>转换为列表<字符串>

如何在 Java 8 中将字符串(例如“01/01/2019”)转换为日期

如何UINT8字节数组转换为字符串的Java