如何将R中POSIXct/POSIXt类日期时间转换为4位军用时间字符串
POSIXct/POSIXt类型转4位时间字符串实现方案
直接调用R内置的format()函数就能完成转换,不需要依赖第三方扩展包。
- 格式化规则用
%H%M即可:%H对应补零的24小时制两位小时数,%M对应补零的两位分钟数,拼接后刚好是你需要的4位军用时间格式。 - 如果你的时间数据带有时区属性(比如样例里的UTC时区),可以显式指定时区参数,避免跨时区环境下转换结果偏移。
转换代码
# 通用转换写法 df$time <- format(df$time, format = "%H%M") # 适配样例UTC时区的稳妥写法 df$time <- format(df$time, format = "%H%M", tz = "UTC")
结果校验
对给出的样例数据执行上述代码后,前6行输出和预期完全一致:
> head(df$time) [1] "0000" "0015" "0030" "0045" "0100" "0115"
注意:不要误用小写%h占位符,%h代表的是月份缩写,会输出错误结果,必须使用大写%H匹配24小时制小时值。
内容的提问来源于stack exchange,提问作者Nate
相关产品推荐
相关产品推荐

