【发布时间】:2013-02-23 09:52:00
【问题描述】:
我遇到了与this question 完全相反的问题。 sqldf 正在将日期从 GMT/UTC 转换为本地时间。如何防止这种行为?注意:我使用lubridate 包将日期字符串转换为POSIXct。
dates <- c("9/12/2010 0:25","9/12/2010 23:22","9/10/2010 1:55")
foo <- data.frame(dates=mdy_hm(dates))
返回
dates
1 2010-09-12 00:25:00
2 2010-09-12 23:22:00
3 2010-09-10 01:55:00
而
bar <- sqldf("SELECT * FROM foo")
返回
dates
1 2010-09-11 19:25:00
2 2010-09-12 18:22:00
3 2010-09-09 20:55:00
【问题讨论】:
-
看起来输出取决于您的本地。你能告诉你当地人吗,
Sys.getlocale('LC_TIME') -
如果您使用
DF <- data.frame(dates = as.POSIXct(dates, format = "%m/%d/%Y %M:%H")); sqldf("select * from DF"),它会起作用,但我会进一步研究。如需进一步讨论,请尝试:groups.google.com/group/sqldf