如何在R中使用RODBC从Sql Server读取utc时间戳?

Gre*_*vec 2 sql-server timezone r utc rodbc

我正在尝试将一些数据从Sql Server 2008导入到R中,使用RODBC:

db <- odbcDriverConnect(connection = "Driver={SQL Server Native Client 10.0};Server=server; Database=db;Trusted_Connection=yes;")
results <- sqlQuery(db, "select timestamp from table where some-restriction")
Run Code Online (Sandbox Code Playgroud)

数据存储在"datetime"类型的列中.所有时间戳都是UTC,但我的系统时区是CET.R将所有时间戳转换为"POSIXct""POSIXt"类型的值,例如:

"2011-01-01 07:24:12 CET"

"2011-01-01 08:35:10 CET"

"2011-01-01 09:02:50 CET"

时间戳是正确的,时区是错误的.在我看来,由于没有明确指定时区,R将所有时间戳分配给我的本地时区.

有没有办法指定数据的时区,所以时区信息是否正确?

Ric*_*ton 6

之后可能最容易改变时区.

library(lubridate)
tz(results) <- "UTC"
Run Code Online (Sandbox Code Playgroud)