【发布时间】:2022-01-08 03:32:58
【问题描述】:
我有一列作为字符读入的日期。我想生成一个具有我想要的格式的数据类(例如,美国风格,2020 年 8 月 28 日)。 但是,所有更改格式、生成字符类或生成具有标准格式的日期类的解决方案 (2020-08-28) 这是一个可重现的例子:
df1 <- data.frame(date=c("08/27/2020", "08/28/2020", "08/29/2020"), cases=c(5,6,7))
class(df1$date)
df1$date1<- format(as.Date(df1$date, format = "%m/%d/%Y"), "%m/%d/%Y")
class(df1$date1)
df1$date2<-as.Date(parse_date_time(df1$date,"%m/%d/%Y"))
class(df1$date2)
df1$date3<- as.Date(df1$date, format = "%m/%d/%Y")
class(df1$date3)
df1
如您所见,data1 具有我想要的格式,但它不是日期类。另外,date2 和 date3 是 Date 类,但它们会产生不想要的格式。
date cases date1 date3 date2
1| 2020 年 8 月 27 日 | 5 | 08/27/2020 |2020-08-27 | 2020-08-27|
2| 2020 年 8 月 28 日 | 6 | 08/28/2020 |2020-08-28 | 2020-08-28|
3| 2020 年 8 月 29 日 | 7 | 08/29/2020 |2020-08-29 | 2020-08-29|
我哪里错了?
【问题讨论】:
-
再次检查。在我的机器上运行
as.Date(df1$date, format = "%m/%d/%Y")会返回一个Date类的对象。 -
日期类在 R 中是固定格式
YYYY-MM-DD。其他任何东西都是字符类。 -
如您在上面的链接中看到的,可以更改打印格式,但请注意其中的cmets中的相关反对意见。
-
谢谢@setfan。是的。它返回一个类日期的对象,但输出格式是不需要的。
标签: r dataframe date format as.date