【发布时间】:2018-05-21 22:55:12
【问题描述】:
我需要从日期中提取两位数的天数。
例如:
date <- as.Date(01-01-2016)
-
year(date)会给出“2016” -
month(date)将产生“1” -
day(date)将返回“1”
我希望 month() 和 day() 返回“01”
标准的 %D 或 %M,似乎在这里不起作用。任何建议将不胜感激!
【问题讨论】:
我需要从日期中提取两位数的天数。
例如:
date <- as.Date(01-01-2016)
year(date) 会给出“2016”month(date) 将产生“1”day(date) 将返回“1”我希望 month() 和 day() 返回“01”
标准的 %D 或 %M,似乎在这里不起作用。任何建议将不胜感激!
【问题讨论】:
假设您的“日期”是日期格式,那么 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”。
【讨论】:
你可以使用substr(yourdate, starPosition, endPosition):
DATE <- 2020-09-01
12345678**9***10*
DAY2DIGITS <- substr(DATE, **9**, *10*)
DAY2DIGITS = 01
【讨论】: