aji*_*rge -2 java database datetime spring-jdbc
我想使用LocalDateTime.parse()方法使用日期格式yyyy-MM-dd HH:mm:ss解析日期,但实际得到的是格式为yyyy-MM-ddTHH:mm:ss的日期.我不需要'T'.请参阅下面的代码
LocalDateTime.parse("2016-10-31 23:59:59", DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
Run Code Online (Sandbox Code Playgroud)
我得到的结果是2016-10-31T23:59:59.看到'T'.'T'导致问题,因此我无法将其持久保存到我的数据库中.我尝试将值保存在类型列中datetime; 我收到了错误 - org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar.
查看有效的值
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')
Run Code Online (Sandbox Code Playgroud)
(T最后一个值没有)
哪个不起作用:
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')
Run Code Online (Sandbox Code Playgroud)
(带有T最后一个值).
LocalDateTime不存储为字符串,而是存储为对象.
你得到一个"T",因为.toString()方法默认返回ISO格式,如下所述:https: //docs.oracle.com/javase/8/docs/api/java/time/LocalDateTime.html
public String toString()
将此日期时间输出为字符串,例如2007-12-03T10:15:30.
输出将是以下ISO-8601格式之一:
uuuu-MM-dd'T'HH:mm
uuuu-MM-dd'T'HH:mm:ss
uuuu-MM-dd'T'HH:mm:ss.SSS
uuuu-MM-dd'T'HH:mm :ss.SSSSSS
uuuu-MM-dd'T'HH:mm:ss.SSSSSSSSS使用的格式将是最短的,输出省略的部分隐含为零的时间的完整值.
要根据需要输出,请使用格式化功能.
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6705 次 |
| 最近记录: |