为什么日期插入02/10/0010而不是02/10/2010

时间:2010-02-10 23:14:04

标签: java database jdbc

我通过java应用程序向orcle db插入记录。插入日期值为02/10/0010而不是02/10/2010 HH:MM:SS AM / PM?我正在使用oracle jdbc连接。 JDBC驱动程序有问题吗?  对此有任何意见。

4 个答案:

答案 0 :(得分:2)

如果您使用的是Oracle和JDBC,请不要将Date作为String存储在表中。让它成为一个真正的约会,你将免除所有这些痛苦。

答案 1 :(得分:1)

检查您的日期来源。它是两位数的一年还是四年?

此外,还有Oracle日期掩码格式可能会导致这种情况。检查安装的默认值。

答案 2 :(得分:0)

我猜你传的价值是“02/10/10”。

日期功能与2位数年份的功能非常不一致。如果你想为你的“古代历史时间表”输入日期,让计算机假设2位数日期必须是21世纪的速记,那将非常烦人。我们真的对WYSIWYG日期解释感觉更好。

答案 3 :(得分:0)

同意。

如果你使用Java Date格式(刚才不知道它的类),那么JDBC驱动程序会执行将它存储在Date列中所需的所有内容。

如果在Oracle表中使用String和/或在Oracle表中使用varchar2,那么你做错了。这将导致隐式转换,NLS设置和所有这些痛苦...如果你处于这种糟糕的状态,那么你需要在每个日期使用时进行显式转换和格式化掩码。

使用合适的类型。