我无法在保留 POSIXct 格式的同时剪切日期 (Y-m-d H:M:S) 以仅保留时间 (H:M)。我尝试了几个剪切命令,但对象变成了“chr”而不是“POSIXct”。例如,我有:
time <- Sys.time()
time
[1] "2024-01-13 20:22:48 CET"
和
str(time)
POSIXct[1:1], format: "2024-01-13 20:22:48"
这是正常的。
但是,如何才能仅保留 POSIXct 格式的“20:22”(HH:MM) 呢?
非常感谢
定义 POSIXct 的子类。还定义其所需的每个操作。这里我们只定义了一个构造函数和
format
(由print
使用)。
as.hmct <- function(x, ...) UseMethod("as.hmct")
as.hmct.POSIXct <- function(x, ...) structure(x, class = c("hmct", class(x)))
format.hmct <- function(x, ...) format(.POSIXct(x), "%H:%M")
# test it
tt <- as.POSIXct("2024-01-14 13:23:26")
tt2 <- as.hmct(tt); tt2
## [1] "13:23"
as.hmct(tt + 60) # one minute later
## [1] "13:24"