假设我在R。
中将以下日期从字符转换为简单日期格式character_date <- "19-Jan-44"
date <- as.Date(strptime(x = as.character(character_date), format= "%d-%b-%y"))
> date
[1] "2044-01-19"
R假设它是2044而不是1944(这是期望的),我如何告诉R它实际上是哪一年?
非常感谢!
答案 0 :(得分:0)
我们可以创建一个函数来执行此操作
library(lubridate)
f1 <- function(x, year=1970){
x <- dmy(x)
m <- year(x) %% 100
year(x) <- ifelse(m > year %% 100, 2000+m, 1900+m)
x
}
f1(character_date)
#[1] "1944-01-19"
如果这总是19
作为年份的前缀
dmy(sub("-(\\d+)", "-19\\1", character_date))
#[1] "1944-01-19"
答案 1 :(得分:0)
您只需将"-19"
附加到字符串并执行format = "%d-%b-y-%C"
。