【发布时间】:2022-01-13 14:29:37
【问题描述】:
我想将此字符串“2022-01-13 14:33:07.996”转换为 java sql 日期。我已阅读答案,并将字符串转换为 java util date,然后转换为 java sql date。我只是不知道如何以 java sql 日期格式获取完整日期
String dateStart = "2022-01-13 14:33:07.996";
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date1 = dateFormat.parse(dateStart);
java.util.Date utilDate = date1;
java.sql.Date sqlDate = new java.sql.Date(date1.getTime());
System.out.println(sqlDate);
输出我明白了
2022-01-13
但我想要类似 2022-01-13 14:33:07.996 的 java sql 日期格式
【问题讨论】:
-
“SQL 日期值没有时间组件”在该类的官方 javadoc 中被提及 6 次:docs.oracle.com/javase/7/docs/api/java/sql/Date.html - 这就是为什么您的第一个调试来源应该始终是查看官方文档!
-
如果你想要一个可以存储类似
2022-01-13 14:33:07.996的信息的类,我认为你不应该使用java.sql.Date。java.sql.Date仅具有年、年中的月和月中的日作为其属性,仅此而已,没有一天中的时间,没有小时、分钟、秒或更小(如果您不相信,请阅读 a document that contains a remarkable set of the words deprecated and deprecation)。最好使用@BasilBorque 提供的解决方案之一为您提供建议。
标签: java sql string date date-formatting