从 Oracle 导入 RStudio 时日期转换错误

Date is wrongly converted when imported into RStudio from Oracle

我正在使用 Oracle 数据库并使用 ROracle 包在 RStudio 中建立连接。出于某种原因,某些日期在通过 dplyrdbGetQuery.

导入 R 时被转换

数据库中读取 2018-01-01 的日期字段,在导入时变为 2018-01-31 23:00:00。同样是2018-02-01转换为2018-02-28 23:00:00.

的情况

真正奇怪的是,如果我使用 openxlsx 将数据框导出到 excel 传播 sheet,日期将再次正确显示。

有谁知道发生了什么,或者可以指出正确的方向吗?该列的格式为 POSIXct,我尝试更改语言环境和时区。我也试过用 as.Date 转换日期列,但没有成功。

问题与 ROracle 在导入时如何转换日期有关。冬季月份的日期作为 CET 导入,而其余日期作为 CEST 导入。

在这里找到解释:https://www.oralytics.com/2015/05/r-roracle-and-oracle-date-formats_27.html