-1

日期作为字符串“12-04-2014”应该返回带有“12”的日期

day <- function(day_vector) { 

day_vector <- as.Date("12-04-2014",format = "%d-%m-%Y")

day <- format(day_vector,"%d")

return(day)

}

但以上无法让我得到想要的答案

4

1 回答 1

2

我们可以转换为Date类并提取day

library(lubridate)
day(dmy("12-04-2014"))
#[1] 12

或与strptime

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_vector”没有转换为Date类并传递给format

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"
于 2018-09-01T16:11:26.683 回答