R程序:日期为字符串;2014年4月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”

日期字符串“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”,而输入的“日期向量”未转换为
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"