【发布时间】:2021-07-16 15:26:13
【问题描述】:
我正在尝试将时间戳(例如 2'30"50似乎不起作用。有人对如何转换有任何提示吗?
【问题讨论】:
我正在尝试将时间戳(例如 2'30"50似乎不起作用。有人对如何转换有任何提示吗?
【问题讨论】:
这里有两个以秒为单位获取时间的选项。
选项 1 - 从字符串中提取数字,将第一个数字乘以 3600,第二个乘以 60,第三个乘以 1,然后将它们相加。
x <- c("2'30\"50", "1'01\"15")
sapply(stringr::str_extract_all(x, '\\d+'), function(x) {
x1 <- as.numeric(x)
x1[1] * 3600 + x1[2] * 60 + x1[3]
})
#[1] 9050 3675
选项 2 - 使用hms 将时间戳转换为周期对象,并使用period_to_seconds 以秒为单位转换时间戳。
library(lubridate)
period_to_seconds(hms(x))
#[1] 9050 3675
如果您希望以毫秒为单位输出,请将输出乘以 1000。
【讨论】: