1

您好,我有一个 Grails 应用程序,它使用 java.util.Date 将计时值存储到 Microsoft SQL Server 数据库中。

我从具有该格式的 .csv 文件中加载日期值:

java.util.Date send_date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS").parse(data[1]);

send_date如果我用调试器观察 var ,毫秒字段的值是正确的millis = 241

send_date 作为一种类型的变量在我的数据库中java.util.Date创建了一个Data Type = datetime列,但是数据库中的值是2007-10-04 10:10:53.240这意味着毫秒是错误的。它总是随机出现,有时它是正确的毫秒数,有时是 +1 或 -1。

有人知道与我的数据库兼容的其他数据类型吗,我已经尝试过java.sql.Date,但是我没有构造函数来添加这种格式"yyyy-MM-dd HH:mm:ss.SSS"如果有人知道如何使用这种输入格式创建另一个日期对象,请告诉我:)

4

1 回答 1

1

SQL Server 的 DATETIME 数据类型具有 3 毫秒的分辨率。如果您需要更高的分辨率,请使用 DATETIME2 数据类型。它具有 100 ns 的分辨率。

于 2012-12-24T13:03:59.990 回答