当前位置: 首页 > 知识库问答 >
问题:

解析日期为yyyy-MM-dd HH:MM:SS格式[副本]

章景同
2023-03-14

我想使用日期格式为yyyy-MM-dd hh:mm:ss的localdatetime.parse()方法解析一个日期,但实际得到的是格式为yyyy-mm-ddthh:mm:ss的日期。我不需要那个“T”。请参阅下面的代码

LocalDateTime.parse("2016-10-31 23:59:59", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

我得到的结果是2016-10-31T23:59:59。看那个“T”。“t”引起了一些问题,因此我无法将其保存到我的数据库中。我尝试在datetime类型的列中持久化该值;我得到错误-org.springframework.jdbc.BadSQLGrammarexception:PreparedStatementCallback;错误的SQL语法

VALUES('US','101','test','firstname','middleName','preferedN‌​ame','lastName',
       '198‌​9-01-01','M',1,'1122‌​1123','test@test.com‌​','address1','addres‌​s2','Bloomingdale','‌​IL','US','689850',
       1,‌​1,'11111','2016-12-3‌​1 23:59:59')
VALUES('US','101','test','firstname','middleName','preferedN‌​ame','lastName',
       '198‌​9-01-01','M',1,'1122‌​1123','test@test.com‌​','address1','addres‌​s2','Bloomingdale','‌​IL','US','689850',
       1,‌​1,'11111','2016-12-3‌​1T23:59:59')

共有1个答案

凤高翰
2023-03-14

LocalDateTime不作为字符串存储,而是作为对象存储。

您得到一个“T”,因为.toString()方法默认返回ISO格式,如https://docs.oracle.com/javase/8/docs/api/java/time/localdatetime.html所述

toString

要根据需要进行输出,请使用format函数。

LocalDateTime d = LocalDateTime.parse("2016-10-31 23:59:59", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));

System.out.println("toString: " + d.toString());
//toString: 2016-10-31T23:59:59                                                                                                                                                                                                                           
System.out.println("format:   " + d.format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
//format:   2016-10-31 23:59:59  
 类似资料:
  • 问题内容: 我收到日期这样的字符串:。我写了这样的解析代码 我得到这样的输出: 为什么它读错了?我的代码有问题还是Java无法识别此日期格式? 问题答案: 您的/ 的输入方法错误,用于“小时分钟”和“年度月份” 是用于“毫秒”(或,表示无意义) 我也建议使用,而不是作为是“白天小时(0-23)” 因此,使用… 它为我输出

  • 问题内容: 我正在尝试从转换日期。我已经使用了mktime()函数和其他函数,但是我似乎无法使其工作。我已经成功地将原始日期用作定界符,但更改格式并将其与交换时没有成功。 任何帮助将不胜感激。 问题答案: 通过查看各个组成部分之间的分隔符,可以消除或格式中的日期的歧义:如果该分隔符是斜杠(),则假定为American ;否则,为0。反之,如果分隔符是破折号()或点(),则采用欧洲格式。 使用默认的

  • 我有一个格式为。我希望它的格式为 下面是我尝试进行此转换的示例util: 但是,我得到的输出不是格式。 请告诉我如何将从格式化为

  • 问题内容: 我正在尝试解析以下日期时间字符串 2018-01-30T23:59:59.000 我无法理解它是哪种标准格式,例如UTC或ISO_8601 同时以以下方式进行解析: 但是它抛出以下异常: 任何帮助表示赞赏。 问题答案: 打印: 2018-01-30T23:59:59 您的字符串为ISO 8601格式。UTC或协调世界时不是一种格式,它是一种标准时间,用于定义我们各自时区中其余时间的使用

  • 问题内容: 当我在下面的代码下运行时,出现Unparseable错误。如何将dd MMM yyyy格式转换为dd / MM / yyyy格式? 问题答案: 假设您修复了明显的语法错误,则: 您要做的就是为您需要解析的格式创建一个解析器,并为您想要的格式创建一个格式化器:

  • 我从格式为yyyy-mm-dd(加上不需要的hh-mm-ss)的API中获取日期结果。我想在jQuery中将其转换为dd-mm-yyyy格式,最简单/最快的方法是什么? 目前我正在使用:(对于返回的字符串yyyy-mm-dd): 但是好像有点啰嗦。