有没有办法8:46:01从整数创建84601而不使用R中的模运算?像其他语言掩码格式的东西:format(84600, "HHMMSS")?否则需要模数偏差和一些凌乱的公式
format(strptime("084601","%H%M%S"),"%H:%M:%S")
Run Code Online (Sandbox Code Playgroud)
有效,但你必须确保你有一个两位数的小时,例如:
x <- "84601"
Run Code Online (Sandbox Code Playgroud)
在任何5位数字字符串前加零:
xx <- gsub("([0-9]{5})","0\\1",x)
Run Code Online (Sandbox Code Playgroud)
(或者,正如@Frank在评论中所说,sprintf("%06d", x)将适用于整数...)
兑换:
format(strptime(xx,"%H%M%S"),"%H:%M:%S")
Run Code Online (Sandbox Code Playgroud)
(如果你没有,format()你会得到一个日期时间字符串,当前日期填写...)