通过as.Date函数将字符串转换为Date

问题描述 投票:1回答:3

我的字符串格式为:20170814,并希望通过as.Date函数转换为日期,但继续生成我'NA'。这是我的函数:

a<-"20170814"
as.Date(a,"%y-%m/%d")

你能帮我一下吗谢谢

r as.date
3个回答
1
投票

你想用

as.Date(a, "%Y%m%d")
# [1] "2017-08-14"

因为"%Y%m%d"是您提供的字符格式的描述,不包括/-。此外,当年份由4位而不是2位组成时,需要Y


2
投票

格式是%Y%m%d,没有-

as.Date(a,"%Y%m%d")
#[1] "2017-08-14"

另一种选择是anytime,它可以解析大多数格式并将其转换为Date

anytime::anydate(a)
#[1] "2017-08-14"

class(anytime::anydate(a))
#[1] "Date"

2
投票

lubridate的一个解决方案:

lubridate::ymd(a)

# [1] "2017-08-14"

class(lubridate::ymd(a))

# [1] "Date"
© www.soinside.com 2019 - 2024. All rights reserved.