在R中将整数转换为日期和时间

时间:2018-05-19 20:56:43

标签: r date time type-conversion

我有一个类似30, 2230, 130的int列,是否有任何函数可以将它们按时间格式转换为3000:30130到{{1 }}?我用过:

01:30

但它返回了一个错误:

format(strftime(col,format="%H:%M"), format="%H:%M") 

我还需要在时间转换之后的时间之前添加 yy-mm-dd ,这样最终输出可能会像as.POSIXlt(x, tz=tz)::'origin' must be supplied ,{{1 }和"1980-05-28 00:30"

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

您可以尝试使用as.POSIXctsprintf以及paste来创建日期/时间:

as.POSIXct(paste("1980-05-28", sprintf("%04d",c(130, 2030, 1120, 30,0120)),sep = " "),
           format = "%Y-%m-%d %H%M")

# [1] "1980-05-28 01:30:00 BST" "1980-05-28 20:30:00 BST" "1980-05-28 11:20:00 BST"
# [4] "1980-05-28 00:30:00 BST" "1980-05-28 01:20:00 BST"

注意:解决方案类似于@ r2evans建议的解决方案。我试着简化一下。