我在格式化R中的日期列表时遇到了问题.R中的常规格式化方法,例如as.Date或as.POSIXct似乎无法正常工作。
我的日期格式为:1012015
使用
as.POSIXct(as.character(data$Start_Date), format = "%m%d%Y")
不会给我一个错误,但我的日期会返回
"0015-10-12"
因为月份不是两位数。
有没有办法将其更改为正确的日期格式?F
答案 0 :(得分:3)
lubridate
包可以帮助解决这个问题:
lubridate::mdy(1012015)
[1] "2015-01-01"
格式看起来很模糊,但OP提供了两个提示:
format = "%m%d%Y"
,答案 1 :(得分:0)
这仅使用基数R. %08d
指定要格式化为8个字符的数字,在这种情况下使用0填充"01012015"
。
as.POSIXct(sprintf("%08d", 1012015), format = "%m%d%Y")
## [1] "2015-01-01 EST"
请注意,如果您没有任何小时/分钟/秒,那么使用"Date"
类的错误就会更少,因此消除了细微时区错误的可能性。
as.Date(sprintf("%08d", 1012015), format = "%m%d%Y")
## [1] "2015-01-01"