R语言如何生成小时截断显示的全天时分组合字符向量
R生成小时无前导零的全天时分字符向量方案
方法1:直接拼接(推荐,性能更高)
无需处理时间类对象,直接生成组合后格式化分钟部分即可:
# 生成小时、分钟的全量组合 time_combo <- expand.grid(h = 0:23, m = 0:59) # 小时直接转字符,分钟补2位前导零后拼接 hours_mins <- paste0(time_combo$h, ":", sprintf("%02d", time_combo$m))
输出验证:
- 前6项结果:
"0:00" "0:01" "0:02" "0:03" "0:04" "0:05" - 5点09分对应的结果:
"5:09" - 最后2项结果:
"23:58" "23:59"
完全符合需求格式。
方法2:基于时间类格式化
如果本身需要处理时间序列,可以用时间格式化的方式实现:
# 生成全天每一分钟的时间序列 all_minutes <- seq(as.POSIXct("2024-01-01 00:00"), as.POSIXct("2024-01-01 23:59"), by = "1 min") # %k为24小时制不带前导零(单数字前补空格),去除前置空格即可得到目标格式 hours_mins <- trimws(strftime(all_minutes, "%k:%M"))
内容的提问来源于stack exchange,提问作者Jonathan1234
相关产品推荐
相关产品推荐

