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

时间:2017-12-07 18:44:05

标签: tidyr lubridate

我需要从日期开始提取两天的日期。

例如:

日期< - as.Date(01-01-2016)  年(日期)会给'2016'  月(日期)会产生'1'  day(date)将返回'1'

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

标准%D或%M,似乎不适用于此处。任何建议将不胜感激!

2 个答案:

答案 0 :(得分:2)

假设你的'date'是日期格式,format.Date()函数应该可以做到这一点:

format.Date(date, "%m")

注意:在你的问题中:

date <- as.Date(01-01-2016)

不会以日期格式返回'date'。它将返回一个错误,因为您提供给as.Date的参数被视为数字。您可能希望将日期作为字符串提供,并指定其编写的格式,如:

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

如果您未指定格式,as.Date将尝试格式“%Y-%m-%d”。

答案 1 :(得分:0)

您可以使用substr(yourdate, starPosition, endPosition)

DATE <- 2020-09-01
        12345678**9***10*

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

DAY2DIGITS = 01