从数据库中提取时更改日期

时间:2017-07-25 06:57:11

标签: java sql tsql datetime

我有一个数据库(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

有人有同样的错误吗?

感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我再次查看我的源表,recieved_at的数据类型为 datetime2 。我将其更改为日期时间,现在它显示正确的日期和时间!

感谢您的帮助和建议!