【发布时间】:2020-11-28 03:16:48
【问题描述】:
在 R 中,我有 2 个 POSIXct(即日期+时间)向量,我想测试它们是否代表相同的时钟时间,无论日期如何。例如:
library(lubridate)
# 1:12:57 PM in NYC
dttm1 <- ymd_hms("1993-10-15 13:12:57", tz = "America/New_York")
# Also 1:12:57 PM in NYC, on a different day
dttm2 <- ymd_hms("2007-2-27 17:12:57", tz = "UTC")
# 1:12:57 PM, but not in NYC
dttm3 <- ymd_hms("2007-2-27 13:12:57", tz = "UTC")
# Not 1:12:57 PM in any time zone
dttm4 <- ymd_hms("1963-1-15 01:12:57", tz = "UTC")
是否有一个函数可以告诉我这些日期时间中的哪一个代表相同的时钟时间?对于dttm1 和dttm2,这样的函数应该返回TRUE,而对于上述任何其他日期对,应该返回FALSE。理想情况下,该函数将被矢量化以在日期时间向量上按元素工作。如果这样的功能仅适用于同一时区的日期时间,或者需要指定应该执行比较的时区,那就没问题了。 (对于奖励积分,仅对 dttm1 和 dttm3 返回 TRUE 的第二个函数也很好。)
【问题讨论】: