注意:有问题相反,我问的是如何将具有基础数值的原始Excel日期(例如,1997年5月27日对应于35577)转换为yyyymmdd格式。
我有一个Excel文件,其中最初手动输入日期。 Excel将它们显示为日期,但您知道它们具有数字基础值。即,在我上面给出的示例中,如果将此日期导出到任何其他统计软件(即Matlab或R)中,则该值将是基础数字对应物。
我需要做的是将这些“原始”Excel日期转换为yyyymmdd格式,然后将它们导出到其他位置。
欢迎任何建议。
答案 0 :(得分:0)
看看这是否适合你 -
%// For demo couple of values are assumed, but these are the values
%// that you have got from excel file
numerical_vals = [35577 ; 35579]
date_array = datevec(numerical_vals);
date_array(:,1) = date_array(:,1)+1900;
out = datestr(date_array,'yyyy/mm/dd')
输出 -
out =
1997/05/27
1997/05/29
答案 1 :(得分:0)
首先,您应该在计算机上检查日期设置。 导航至:
控制面板->时钟和区域->区域更改日期,时间或 数字格式->其他设置->日期
在Short date
下进行Date formats (yyyy/MM/dd)
的更改,然后在两个窗口中都应用它们,然后单击ok
。重新启动Excel,它应该可以工作!
如果仍然无法使用,则可以在excel中检查格式单元格,然后将单元格转换为日期。 此外,R中还有一个函数称为.Date(x,format,tryFormats = c(“%Y-%m-%d”,“%Y /%m /%d”),也可以使用。>