【发布时间】:2013-11-24 20:04:02
【问题描述】:
我有一个来自 SQL 查询的 ResultSet。每个 ResultSet 都包含一个 Unix-Timestamp 和一个 double 值:
double timeStamp = resultSet.getDouble(1);
double value = resultSet.getDouble(2);
我想创建(在遍历 ResultSet 之前或期间)几个数组,每个数组代表两个时间时间戳之间的范围。 结果集的每个双精度/双精度对都应放入其中一个数组中。
例如,如果最低时间戳为 1366816115,最高时间戳为 1366848754,我想创建时间范围为一小时(60 分钟)的数组,并将每个双精度/双精度对放入其中一个数组中,前提是时间戳ResultSet 匹配。
在 Java 中执行此操作的有效方法是什么?我尝试了几种方法,但每次我都开始摆弄它并最终感到困惑。
如果有某个关键字我应该查找,我也会很高兴。
提前感谢您的阅读和任何帮助。
编辑: pasha701 答案效果很好,为了完整起见,这是我计算 periodStart 的方法:
Double key = new Double(timeStamp - (timeStamp % granularityInSeconds));
其中 timeStamp = unix 时间戳(Java 时间戳除以 1000)和particleityInSeconds=数组应覆盖的范围,即particleityInSeconds = (60*60) 将创建覆盖一小时的数组。
非常感谢,pasha701!
【问题讨论】:
标签: java arrays split timestamp resultset