lubridate - 从日期中提取两位数的日

3
我可以帮您进行翻译。需要从日期中提取两位数字的天数。例如:
date <- as.Date(01-01-2016)
  • year(date) 将返回 '2016'
  • month(date) 将返回 '1'
  • day(date) 将返回 '1'

我希望 month()day() 返回 '01'

标准的 %D 或 %M,似乎在这里不起作用。有什么建议吗?感激不尽!

2个回答

9
假设您的“日期”是以Date格式提供的,那么format.Date()函数应该能够解决问题:
format.Date(date, "%m")

注意:在你的问题中:
date <- as.Date(01-01-2016)

如果你使用as.Date函数时提供的参数是数字类型,而不是日期格式,那么它将返回错误而不是一个日期格式。因此,你需要将日期以字符形式提供,并指定其写入格式,例如:

date <- as.Date("01-01-2016", format = "%m-%d-%Y") 
format.Date(date, "%m")

如果您没有指定日期格式,as.Date函数将会尝试使用"%Y-%m-%d"格式。

1
你可以使用 substr(你的日期, 起始位置, 结束位置):
DATE <- 2020-09-01
        12345678**9***10*

DAY2DIGITS <- substr(DATE, **9**, *10*)

DAY2DIGITS = 01

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接