将Excel数字日期重新格式化为R日期

时间:2018-02-20 20:28:24

标签: r excel date

希望将从Excel中拉出的列重新格式化为包含数字Excel格式的数据框(例如40182)。

  

as.date(40182,origin =" 1899-12-30",format ='%b-%Y')

返回:

[1] 5Jan2070

我正在寻找更多的1月14日(短月,短年)。

作为R的新手,我一直无法确定原因是什么。切换原始日期似乎也没有改变任何东西。有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

##simulated excel. I used an excel to tes tthe code though. 
a<-seq(from = as.Date(Sys.Date()), to = seq(as.Date(Sys.Date()), 
length.out = 12, by= "-1 years")[2], by = "-1 days")
a<-as.numeric(a)
a<-a+25569
a<-as.Date(as.numeric(a[1:length(a)]), origin = as.Date("1970-01-01"))

##a is in One Year of dates like your excel list. 

a<-as.numeric(a)
a<-a-25569
a<-as.Date(as.numeric(a[1:length(a)]), origin = as.Date("1970-01-01"))
a<-format(a, "%b-%y")
希望这对你有所帮助。

答案 1 :(得分:0)

在excel中,编号为40182的日期为04-01-2010,格式为日期。 所以我认为你正在寻找这个:

format(as.Date(40182, origin = "1899-12-30"), '%b-%Y')

给出:

[1] "Jan-2010"
希望它有所帮助!!!