对于另一个日期问题感到抱歉,但我找不到答案。 我有一个日期类型“2017年9月”,需要将其转换为“30.09.2017”(月的最后一天 - 所有年份的所有月份)。 我试过了:
date <- as.Date(date), "%B %d %Y")
+%d%m%y的变化
那:
library(zoo)
date <- as.Date(as.yearmon(date))
但每次我都有NA
。
答案 0 :(得分:2)
这对我有用:
> library(zoo)
> s = "September 2017"
> as.yearmon(s)
[1] "Sep 2017"
如果我转换为日期,它将获得本月的第一天:
> as.Date(as.yearmon(s))
[1] "2017-09-01"
这似乎正是你正在做的事情,但你没有明确地告诉我们你的“2017年9月”字符串在哪里,所以我怀疑那里有问题......
关于“30日”,你对2月份要做什么?您可以使用frac=1
来获取该月的最后一天(帽子提示@Henrik):
> as.Date(as.yearmon(s),frac=1)
[1] "2017-09-30"
> as.Date(as.yearmon("February 2018"),frac=1)
[1] "2018-02-28"
> as.Date(as.yearmon("February 2020"),frac=1)
[1] "2020-02-29"