为什么过滤(as.Date(opp_date)== Sys.Date())会带来昨天的数据?

时间:2017-07-21 15:08:12

标签: r filter dplyr posixct as.date

我喜欢使用dplyr;我把它用于一切。但是,我今天尝试的问题如下:

我试图简单地从我的opps表中过滤所有行,其中opp_date来自今天。因此,当我使用filter(opps, as.Date(opp_date) == Sys.Date())时,它会带来今天的数据,但也会从昨天开始,从19:00开始。

澄清任何可能的问题:

  • opp_date字段为POSIXct class
  • Sys.Date()正确返回我当前的日期和时间(仅查看,Sys.time()带来正确的时间和日期:"2017-07-21 10:06:04 COT"

这里有什么想法吗?感谢社区的所有重要投入:)

1 个答案:

答案 0 :(得分:0)

由于低重新定位而无法添加评论,因此请将此作为答案发布。

正如我最近所知,R日期是格式化的噩梦,特别是通过基本功能。结帐lubridate包。您可能希望使用dmy_hms函数转换日期列。它很容易,默认情况下支持向量。尝试一下,如果问题仍然存在,请告诉我。

请务必提供样本数据。否则人们无法重现你的问题。