【问题标题】:Error parsing datetime, DateTimeParseException with valid timestamp解析日期时间时出错,带有有效时间戳的 DateTimeParseException
【发布时间】:2018-11-30 06:09:38
【问题描述】:

我正在尝试从 sql 解析时间戳对象并且遇到问题,这就是我所拥有的:

 DateTimeFormatter dateDTF = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT);


 String start = c.getStartTime().getValue();
 //Start: 2018-12-01 16:00:00
 System.out.println("Start: " + start);
 LocalDateTime startDatetime = LocalDateTime.parse(start, dateDTF);

正如您在注释代码中看到的那样,我使用 start 的值来精简我的工作示例。我收到以下错误:

java.time.format.DateTimeParseException: Text '2018-12-01 16:00:00' could not be parsed at index 4

【问题讨论】:

    标签: java datetime timestamp localtime


    【解决方案1】:

    使用

    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
    

    在这里你指定DateTimeFormat模式

    【讨论】:

    • 我非常讨厌没有适当的 SQL 时间戳包装器,我必须手动执行这些垃圾。话虽如此,感谢您的帮助!我会尽快接受。
    • @Joe 您不应该从数据库中获取时间戳值作为字符串。根据您的 JDBC 驱动程序提供的内容,查看您是否可以获取 InstantOffsetDateTimeLocalDateTime。例如使用yourResultSet.getObject(6, Instant.class)
    猜你喜欢
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 2014-07-03
    • 2015-08-03
    • 2021-09-24
    相关资源
    最近更新 更多