将Excel数字转换为日期

Aza*_*hya 3 excel r date zoo janitor

我有一个数字excel日期矢量即

date <- c(42963,42994,42903,42933,42964)

我在使用包中的函数和包中的函数时期望输出excel_to_numeric_datejanitoras.yearmonzoo

as.yearmon(excel_numeric_to_date(date)) [1] "Aug 2016" "Sep 2016" "Jun 2017" "Jul 2017" "Aug 2017".

但是,第一个date向量元素的转换是不正确的.在实际的结果是:

as.yearmon(excel_numeric_to_date(date)) [1] "Aug 2017" "Sep 2017" "Jun 2017" "Jul 2017" "Aug 2017"

我已经尝试使用不同的选项(modernmac pre-2011)作为date_system参数,excel_numeric_to_date但它也没有帮助

excel版本是2010年

Sot*_*tos 7

您可以简单地使用as.Date和指定原点,即

as.Date(date, origin="1899-12-30") 
#[1] "2017-08-16" "2017-09-16" "2017-06-17" "2017-07-17" "2017-08-17"

#or format it to your liking,

format(as.Date(date, origin="1899-12-30"), '%b %Y') 
#[1] "Aug 2017" "Sep 2017" "Jun 2017" "Jul 2017" "Aug 2017"
Run Code Online (Sandbox Code Playgroud)

链接提供了有关此问题的大量信息.

  • 请注意,`help("as.Date")`包含有关Excel日期来源的相关信息. (2认同)