通过 as.Date 函数将字符串转换为日期
Convert a string to Date by as.Date function
我将我的字符串格式化为:20170814 并想通过 as.Date 函数转换为日期,但继续生成“NA”。
这是我的功能:
a<-"20170814"
as.Date(a,"%y-%m/%d")
你能帮我一些忙吗
谢谢
您想使用
as.Date(a, "%Y%m%d")
# [1] "2017-08-14"
因为"%Y%m%d"
是对您提供的字符格式的描述,不包括/
或-
。此外,当年份由 4 位数字而不是 2 位数字组成时,需要 Y
。
格式是%Y%m%d
没有-
as.Date(a,"%Y%m%d")
#[1] "2017-08-14"
另一个选项是anytime
,它可以解析大多数格式并将其转换为Date
class
anytime::anydate(a)
#[1] "2017-08-14"
class(anytime::anydate(a))
#[1] "Date"
一个解决方案lubridate
:
lubridate::ymd(a)
# [1] "2017-08-14"
class(lubridate::ymd(a))
# [1] "Date"
我将我的字符串格式化为:20170814 并想通过 as.Date 函数转换为日期,但继续生成“NA”。 这是我的功能:
a<-"20170814"
as.Date(a,"%y-%m/%d")
你能帮我一些忙吗 谢谢
您想使用
as.Date(a, "%Y%m%d")
# [1] "2017-08-14"
因为"%Y%m%d"
是对您提供的字符格式的描述,不包括/
或-
。此外,当年份由 4 位数字而不是 2 位数字组成时,需要 Y
。
格式是%Y%m%d
没有-
as.Date(a,"%Y%m%d")
#[1] "2017-08-14"
另一个选项是anytime
,它可以解析大多数格式并将其转换为Date
class
anytime::anydate(a)
#[1] "2017-08-14"
class(anytime::anydate(a))
#[1] "Date"
一个解决方案lubridate
:
lubridate::ymd(a)
# [1] "2017-08-14"
class(lubridate::ymd(a))
# [1] "Date"