gpt4 book ai didi

java - 如何使用 Java 从 MySQL 数据库检索正确的时间戳?

转载 作者:行者123 更新时间:2023-11-29 11:56:19 24 4
gpt4 key购买 nike

我将测量结果存储在 MySQL 数据库中。测量结果包含一个时间戳字段,该字段以以下格式存储时间戳:

2015-10-10 10:10:10.11(因此具有两位数的毫秒)

在我的 Java 代码中,我使用以下方法检索该值:

resultSet.getTimestamp(id)

当我打印这个值时,它会给我:

2015-10-10 11:11:11.000000011

所以我试图弄清楚为什么它会这样,以及我应该如何解决这个问题以便获得正确的值?

编辑:

使用从测量中选择*时,值在数据库本身内正确显示

我猜它应该在 Java/JDBC 检索方式的某个地方。getTimestamp 和 getString 都给我相同的结果。

编辑2:

resultSet = statement.executeQuery("select * from measurement");

Measurement m;

while(resultSet.next()) {
m = new Measurement(
resultSet.getString(1),
resultSet.getString(2),
resultSet.getDouble(4),
resultSet.getTimestamp(3));
System.out.println(m);
}

最佳答案

我从来不喜欢 MySQL 的 JDBC 驱动程序如何处理 TIMESTAMP 类型。我会用:

select ROUND(UNIX_TIMESTAMP(col1)*1000) FROM measurement

然后阅读它

java.util.Date d = new java.util.Date(resultSet.getLong(1));

关于java - 如何使用 Java 从 MySQL 数据库检索正确的时间戳?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33144117/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com