R程序:日期为字符串;2014年4月12日“;
日期字符串“12-04-2014”应返回带“12”的日期R程序:日期为字符串;2014年4月12日“;,r,R,日期字符串“12-04-2014”应返回带“12”的日期 day我们可以转换到Date类并提取day library(lubridate) day(dmy("12-04-2014")) #[1] 12 或者使用strtime strptime("12-04-2014", "%d-%m-%Y")$mday #[1] 12 在OP的函数中,as.Date应采用输入参数 as.Date(date_vector,format = "%d-%m-%Y") 相反,它硬编码为“12-04-2014”
day我们可以转换到Date
类并提取day
library(lubridate)
day(dmy("12-04-2014"))
#[1] 12
或者使用strtime
strptime("12-04-2014", "%d-%m-%Y")$mday
#[1] 12
在OP的函数中,as.Date
应采用输入参数
as.Date(date_vector,format = "%d-%m-%Y")
相反,它硬编码为“12-04-2014”,而输入的“日期向量”未转换为date
类,并传递为格式
day <- function(day_vector) {
day_vector <- as.Date(day_vector,format = "%d-%m-%Y")
day <- format(day_vector,"%d")
day
}
day("12-04-2014")
#[1] "12"
day如何获得这种格式的代码day@MamathaPS在函数修复后不是给出了相同的格式吗。关于前两个案例,sprintf('%02d',天(2014年4月12日))
day <- function(day_vector) {
day_vector <- as.Date(day_vector,format = "%d-%m-%Y")
day <- format(day_vector,"%d")
day
}
day("12-04-2014")
#[1] "12"