如何转换为datetime对象?

时间:2015-04-05 21:18:29

标签: r date datetime time

我以这种格式存储日期(我的数据第一列)

> tmp[[1]]
# YYYYMMDD
19980102

我有这种格式的时间存储(我的数据的第二列)

> tmp[[2]]
#HHMM
0930

我想知道如何将其存储为R中的日期时间格式。我尝试过使用:

as.POSIXlt(paste(tmp[[1]], tmp[[2]]), format="%Y%m%d %H%M%S")

但我的输出是一堆NA

NA

1 个答案:

答案 0 :(得分:1)

你快到了。您的主要问题是在时间字段中没有实际的秒数位时,在格式字符串末尾不正确使用%S格式说明符。此外,我将paste()更改为paste0()并删除了格式字符串中的空格,尽管这并不重要。

tmp <- data.frame(date='19980102', time='0930', stringsAsFactors=F );
as.POSIXlt(paste0(tmp$date,tmp$time), format='%Y%m%d%H%M' );
## [1] "1998-01-02 09:30:00 EST"