R将YYMMDD转换为日期

时间:2015-01-23 22:45:38

标签: r date

我有YYMMDDHH格式的数据,但我正在尝试获取工作日,所以我需要转到日期格式,但无法弄清楚。

以下是相关数据的输入:

structure(list(id = c(7927751403363142656, 18236986451472797696, 
5654946373641778176, 14195690822403907584, 1693303484298446848, 
1.1362181921561e+19, 11694645532962195456, 1221431312630614784, 
1987127670789791488, 379819848497418688), hour = c(14102118L, 
14102217L, 14102812L, 14102912L, 14102820L, 14102401L, 14102117L, 
14102312L, 14102301L, 14102414L)), .Names = c("id", "hour"), row.names = c(3620479L, 
8510796L, 29632625L, 34450879L, 31874113L, 13420799L, 3332671L, 
11543560L, 9602012L, 15574701L), class = "data.frame")

当我使用时:

dat2$dow <- as.Date(substr(as.character(dat2$hour), 1,6), format = '%Y%m%d')

我只是得到了NA。有什么建议吗?

1 个答案:

答案 0 :(得分:5)

"%Y"为4位数年份; "%y"为2位数年份。而且您不需要使用substras.Date将在指定格式结束后忽略任何内容。

dat2$dow <- as.Date(as.character(dat2$hour), format='%y%m%d')