当我将SQL插入DateTime数据库时,我得到了2007-02-07 12:00:00.00
但我做了Date这样的对象:2007-02-07 17:29:46.00
如何获取数据库中秒的值.它总是把它改回来12:00:00.00
date.setYear(Integer.valueOf(parsedDate[2].replaceAll(" ", "")) - 1900);
date.setMonth(Integer.valueOf(parsedDate[0].replaceAll(" ", "")));
date.setDate(Integer.valueOf(parsedDate[1].replaceAll(" ", "")));
...
java.sql.Date sqlDate = new java.sql.Date(date.getTime());
Run Code Online (Sandbox Code Playgroud)
我应该使用任何格式化程序吗?
Jon*_*eet 30
java.sql.Date代表日期,而不是日期和时间.来自文档:
为了符合SQL DATE的定义,java.sql.Date实例包含的毫秒值必须通过在与实例关联的特定时区中将小时,分钟,秒和毫秒设置为零来"标准化". .
如果您想存储日期和时间,您应该寻找其他类型 - 例如java.sql.Timestamp.编辑:这并不是建议您使用TIMESTAMP列类型 - 正如paulsm4在评论中所说,这是另一回事.但是,据我所知,JDBC仅支持:
Date (不,你也想要时间)Time (不,你也要约会)Timestamp (包括日期和时间,但您不希望TIMESTAMP SQL语义)我希望使用Timestamp带有DATETIME列的Java 类型来工作,尽管没有Timestamp提供的精度级别.
编辑:经过一些研究,看起来你可能想要使用该java.sql.Time类型,但具有特殊的驱动程序参数 - 至少如果你使用的是Microsoft驱动程序.有关更多信息,请参阅有关配置JDBC的这些文档.
| 归档时间: |
|
| 查看次数: |
50285 次 |
| 最近记录: |