首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使POSIXct与==协同工作

如何使POSIXct与==协同工作
EN

Stack Overflow用户
提问于 2016-11-17 18:10:40
回答 1查看 62关注 0票数 1

我注意到==似乎不适用于POSIXct:

代码语言:javascript
复制
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")

a

1 "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世界协调时“

代码语言:javascript
复制
table(a=="2016-06-27")

假20

代码语言:javascript
复制
table(a=="2016-06-27 UTC")

假20

代码语言:javascript
复制
table(a==as.POSIXct("2016-06-27 UTC"))

假20

代码语言:javascript
复制
table(a==as.POSIXct("2016-06-27"))

假20

代码语言:javascript
复制
a[a=="2016-06-27"]

字符(0)

我怎么才能让这个起作用?

这是可行的,但我真的希望这不是我唯一的选择:

代码语言:javascript
复制
a[a==1466985600]

1 "2016-06-27世界协调时“"2016-06-27世界协调时”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-17 18:18:19

时区需要分开,除非在format参数中指定。代码将时区嵌入到字符串中,但默认格式是"%Y-%m-%d""%Y/%m/%d",因此时区被切断,默认为当前区域设置。我们可以用a找到attr()的时区,因为它是a的属性。

代码语言:javascript
复制
table(a == as.POSIXct("2016-06-27", tz = attr(a, "tzone")))

# FALSE  TRUE 
#    18     2 
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40662112

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档