将仅数字字符串转换为LocalDateTime

问题描述

我已经在网上搜索过,但并没有真正找到希望的方式。

我的数据看起来像“ 20201005114527”,“ 20201002173838” .......

,并希望将它们转换为LocalDateTime。

此后它将再次转换为json。

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "xxx/xxx") 
private LocalDateTime xxxxxDate;

但是我只是把那些“仅数字字符串”转换成LocalDateTime感到困惑。

解决方法

使用格式掩码yyyyMMddHHmmss

@JsonFormat(pattern = "yyyyMMddHHmmss")
private LocalDateTime xxxxxDate;
,

解析仅包含数字的日期时间字符串与解析其他格式的日期时间字符串没有什么不同。

    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuuMMddHHmmss");
    String numberOnlyString = "20201005114527";
    LocalDateTime xxxxxDate = LocalDateTime.parse(numberOnlyString,formatter);
    System.out.println(xxxxxDate);

输出:

2020-10-05T11:45:27

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...