我有一张表,其中一列是20130109
或YearMonthDay中的日期,没有间距。
我正在尝试绘制这些点,并且由于这种奇怪的间距,最终会出现图中的大间隙,因此希望将这些数字转换为日期。
我一直在尝试使用as.Date(as.character(20130107), "%y%m%d")
,但总是会返回NA
。
答案 0 :(得分:18)
您需要%Y
(4位数年份)而不是%y
(2位数年份):
> as.Date(as.character(20130107), "%Y%m%d")
[1] "07-01-2013"
答案 1 :(得分:3)
Using lubridate
library(lubridate)
parse_date_time(as.character(20130107), "%Y%m%d")
If you wanted to just extract certain elements of the date, this is easy with strftime. For example, just the year:
strftime(parse_date_time(as.character(20130107), "%Y%m%d"), "%Y")