You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为带分隔符的时分秒(hms)字符串补前导零?

为时间字符串补前导零的R实现

原始数据

times <- c("23:18:00", "15:02:00", "16:20:00", "16:40:00", "22:06:00", 
           "18:03:00", "22:00:00", "19:33:00", "22:16:00", "0:33:00", "17:30:00", 
           "22:25:00", "18:54:00", "4:41:00", "17:40:00", "1:00:00", "1:01:00", 
           "18:23:00", "20:08:00", "1:50:00")

方法1:使用lubridate包(推荐)

借助lubridate的hms()函数解析时间字符串,再通过格式化输出补全前导零:

library(lubridate)
formatted_times <- format(hms(times), "%H:%M:%S")

方法2:基础R实现(无需额外安装包)

通过拆分字符串、补零、合并的步骤完成转换:

# 按冒号拆分每个时间字符串
split_times <- strsplit(times, ":")
# 对时分秒各部分补前导零至两位,再合并
formatted_times <- sapply(split_times, function(x) {
  paste(sprintf("%02d", as.integer(x)), collapse = ":")
})

验证结果

执行上述代码后,formatted_times中的时间字符串均为两位时分秒格式,例如"1:50:00"会转换为"01:50:00","4:41:00"转换为"04:41:00"。

内容的提问来源于stack exchange,提问作者user35131

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 02:10:07