如何剪切日期日程并保持POSIXct格式?

问题描述 投票:0回答:1

我无法在保留 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) 呢?

非常感谢

r date time
1个回答
0
投票

定义 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"
© www.soinside.com 2019 - 2024. All rights reserved.