我有一个数据库(MS SQL)和一个表" PositionMessages"与列
( ID 为(int)
, issi 为(varchar)
,经度为(varchar)
,纬度为(varchar)
, Received_at 为 (datetime2)
)
该表由服务器上正在运行的jar填充。工作良好。数据库条目如下所示:
ID |issi |Longitude |Latitude |Received_at
301208 |6683904 |15,4464340209961 |46,9848775863647 |2017-07-25 06:37:21
日期时间设置为UTC格式,但是当我将数据加载到我的项目的网络界面时,日期时间只增加了2天,我还没弄清楚原因。
SQL查询如下所示:SELECT * FROM PositionMessages
在java中,我通过jdbc驱动程序获取了文件:
(com.microsoft.sqlserver.jdbc.SQLServerDriver)
tempTS = result.getTimestamp(" received_at");
try {
result = source.executeStatement(query);
while (result.next()) {
tempID = result.getString("issi");
tempLong = result.getString("longitude");
tempLat = result.getString("latitude");
tempTS = result.getTimestamp("received_at");
tempLong = tempLong.replace(',', '.');
tempLat = tempLat.replace(',', '.');
route.add(new TetraDataset(tempID, tempLat, tempLong, tempTS));
}
return route;
} catch (SQLException e) {
System.err.println("ERROR WHILE READING THE ROUTE DATA FROM DB");
return null;
}
所以,如果我加载条目 2017-07- 25 06:37:21 ,它在java tempTS 2017-07- 27 06:37:21
有人有同样的错误吗?
感谢您的帮助!
答案 0 :(得分:1)
我再次查看我的源表,recieved_at的数据类型为 datetime2 。我将其更改为日期时间,现在它显示正确的日期和时间!
感谢您的帮助和建议!