我注意到==似乎不适用于POSIXct:
a <- structure(c(1466985600, 1464652800, 1464652800, 1464652800, 1472428800,
1466985600, 1468195200, 1472428800, 1472428800, 1474848000, 1464652800,
1468195200, 1476057600, 1464652800, 1472428800, 1472428800, 1460332800,
1460332800, 1460332800, 1460332800), class = c("POSIXct", "POSIXt"
), tzone = "UTC")
a1 "2016-06-27 UTC“"2016-05-31 UTC”"2016-08-29 UTC“"2016-06-27 UTC”"2016-07-11 UTC“"2016-08-29 UTC”9 "2016-08-29 UTC“"2016-09-26 UTC”"2016-05-31 UTC“2016-07-11 UTC”2016-10“世界协调时"2016-05-31世界协调时“"2016-08-29世界协调时”"2016-08-29世界协调时“17 "2016-04-11世界协调时”"2016-04-11世界协调时“
table(a=="2016-06-27")假20
table(a=="2016-06-27 UTC")假20
table(a==as.POSIXct("2016-06-27 UTC"))假20
table(a==as.POSIXct("2016-06-27"))假20
a[a=="2016-06-27"]字符(0)
我怎么才能让这个起作用?
这是可行的,但我真的希望这不是我唯一的选择:
a[a==1466985600]1 "2016-06-27世界协调时“"2016-06-27世界协调时”
发布于 2016-11-17 18:18:19
时区需要分开,除非在format参数中指定。代码将时区嵌入到字符串中,但默认格式是"%Y-%m-%d"和"%Y/%m/%d",因此时区被切断,默认为当前区域设置。我们可以用a找到attr()的时区,因为它是a的属性。
table(a == as.POSIXct("2016-06-27", tz = attr(a, "tzone")))
# FALSE TRUE
# 18 2 https://stackoverflow.com/questions/40662112
复制相似问题