如何在 R 中将时间格式从 1730 更改为 17:30:00?
Posted
技术标签:
【中文标题】如何在 R 中将时间格式从 1730 更改为 17:30:00?【英文标题】:How to change time format from 1730 to 17:30:00 in R? 【发布时间】:2020-08-08 10:35:33 【问题描述】:在一个数据集中,我发现时间列有 1700、1410、845、1030 等。
数据集太大。
如何在 R 中将此格式(1700、1410、845、1030)转换为 17:00:00、14:10:00、8:45:00、10:30:00 格式?
【问题讨论】:
【参考方案1】:另一种选择(来自@akrun 答案的数据):
format(strptime(gsub("^(\\d3$)","0\\1",df1$Time),format="%H%M"),"%H:%M:%S")
[1] "17:30:00" "14:10:00" "08:45:00" "10:30:00"
【讨论】:
【参考方案2】:我们可以使用sub
和sprintf
。 sprintf
用于位数不相同(3 位或 4 位),对于 3 位,sprintf
在前面补一个 0(%04d
)以使其一致,同时在末尾附加 :00
,然后使用sub
捕获第一个数字或字符((..)
),并替换为捕获组的反向引用(\\1
),后跟:
sub("^(..)", "\\1:", sprintf("%04d:00", df1$Time))
#[1] "17:30:00" "14:10:00" "08:45:00" "10:30:00"
数据
df1 <- structure(list(Time = c(1730, 1410, 845, 1030)), class = "data.frame",
row.names = c(NA,
-4L))
【讨论】:
以上是关于如何在 R 中将时间格式从 1730 更改为 17:30:00?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 html5 日期时间选择器中将格式从 12 小时更改为 24 小时?
如何在“另存为”对话框中将工作表的默认保存格式从 .xml 更改为 .xls?
如何在 Amazon Redshift 中将列从字符串更改为日期?