确定 24 小时日期时间是否在间隔内
Determine if 24 hour datetime is within interval
希望能帮到你。有一个包含日期时间的数据框。我想确定时间结果是否发生在下班后 (> 16:00)。
是否有捷径可寻?计划将时间转换为秒,然后这样做,但假设有一种更简单的方法可以通过 R 来做到这一点。
datetimes <- c("2013-04-01 08:19:00", "2013-04-02 16:19:00", "2017-02-17 14:01:00", "2017-02-17 22:01:00")
as.POSIXct(datetimes)
lubridate 包让这一切变得非常简单。有关详细信息,请参阅 https://cran.r-project.org/web/packages/lubridate/vignettes/lubridate.html。
library(lubridate)
hour(as.POSIXct(datetimes))>16
只需使用 format
并通过 >=
进行比较:
format(datetimes,"%H") >= 16
#[1] FALSE TRUE FALSE TRUE
假设您已经通过 as.POSIXct()
进行了转换,如您的问题所示。
即使 format
returns 是一个字符串,使用数字进行比较是安全的,因为所有单个数字值都像 "08"
一样被填充
希望能帮到你。有一个包含日期时间的数据框。我想确定时间结果是否发生在下班后 (> 16:00)。 是否有捷径可寻?计划将时间转换为秒,然后这样做,但假设有一种更简单的方法可以通过 R 来做到这一点。
datetimes <- c("2013-04-01 08:19:00", "2013-04-02 16:19:00", "2017-02-17 14:01:00", "2017-02-17 22:01:00")
as.POSIXct(datetimes)
lubridate 包让这一切变得非常简单。有关详细信息,请参阅 https://cran.r-project.org/web/packages/lubridate/vignettes/lubridate.html。
library(lubridate)
hour(as.POSIXct(datetimes))>16
只需使用 format
并通过 >=
进行比较:
format(datetimes,"%H") >= 16
#[1] FALSE TRUE FALSE TRUE
假设您已经通过 as.POSIXct()
进行了转换,如您的问题所示。
即使 format
returns 是一个字符串,使用数字进行比较是安全的,因为所有单个数字值都像 "08"