r - 如何根据位数将数值转换为小时和分钟

标签 r datetime-conversion

我有一个向量,其中包含最近半小时的时间

x <- c(30,200,2200,2300)

我需要把它转换成

output <- c(00:30,02:00,22:00,23:00).

我无法转换少于 4 位的值。
请建议。 strptime() , as.Date() 为第一个元素抛出 NA

我试过下面的代码,但没有用。请建议

代码:

x <- c(30,200,2200,2300)

output <- format(strptime(x,"%H%M"),"%H:%M")
output
#[1] NA      "20:00" "22:00" "23:00"

最佳答案

您可以使用 sprintf 添加前导零。

x <- c(30, 200, 2200, 2300)
format(strptime(sprintf("%04d", x), format="%H%M"), format="%H:%M")
# [1] "00:30" "02:00" "22:00" "23:00"

关于r - 如何根据位数将数值转换为小时和分钟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56950395/

相关文章:

r - 查找重复值并有引用

带有 R 的列表的所有对象中的 rowSums

mongodb - 我们可以只比较MongoDB中的时间吗?

python - 从时间中提取小时部分并使用 pandas 将其作为整数返回

r - 获取R对象的完整属性

r - 在 R 中从一个函数创建多列(然后对它们进行平均)

r - 在 dplyr 中对特定范围的列名进行排序

java - 将 org.joda.time.DateTime 转换为 java.time.OffsetDateTime 的最佳方法是什么?

java - UTC 到本地日期转换

mysql - 如何转换 datetime : 1518427800 to hh:mm:ss dd/mm/yyyy in node. js?