gpt4 book ai didi

string - 从字符串时间到毫秒的快速转换

转载 作者:行者123 更新时间:2023-12-04 15:12:18 26 4
gpt4 key购买 nike

对于向量或时间列表,我想从字符串时间开始,例如12:34:56.789从午夜到毫秒,这将等于 45296789 .

这就是我现在所做的:

toms = function(time) {
sapply(strsplit(time, ':', fixed = T),
function(x) sum(as.numeric(x)*c(3600000,60000,1000)))
}

并希望做得更快。

这是用于基准测试的示例数据集:
times = rep('12:34:56.789', 1e6)

system.time(toms(times))
# user system elapsed
# 9.00 0.04 9.05

最佳答案

您可以使用 fasttime 包,它似乎快了一个数量级。

library(fasttime)
fasttoms <- function(time) {
1000*unclass(fastPOSIXct(paste("1970-01-01",time)))
}
times <- rep('12:34:56.789', 1e6)
system.time(toms(times))
# user system elapsed
# 6.61 0.03 6.68
system.time(fasttoms(times))
# user system elapsed
# 0.53 0.00 0.53
identical(fasttoms(times),toms(times))
# [1] TRUE

关于string - 从字符串时间到毫秒的快速转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18367325/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com