我有约会 1/11/2010
并使用函数
=日期(年(A1),月(A1),日(A1))
使用Excel将日期转换为40189。
我可以使用MATLAB将数字40189再次转换回日期吗?
答案 0 :(得分:11)
使用DATESTR
>> datestr(40189)
ans =
12-Jan-0110
不幸的是,Excel于1900年1月1日开始计算。了解如何使用DATENUM
将串行日期从Matlab转换为Excel>> datenum(2010,1,11)
ans =
734149
>> datenum(2010,1,11)-40189
ans =
693960
>> datestr(40189+693960)
ans =
11-Jan-2010
换句话说,要转换任何序列Excel日期,请调用
datestr(excelSerialDate + 693960)
修改强>
要以mm / dd / yyyy格式获取日期,请使用指定格式调用datestr
excelSerialDate = 40189;
datestr(excelSerialDate + 693960,'mm/dd/yyyy')
ans =
01/11/2010
此外,如果您想要摆脱本月的前导零,您可以使用REGEXPREP来解决问题
excelSerialDate = 40189;
regexprep(datestr(excelSerialDate + 693960,'mm/dd/yyyy'),'^0','')
ans =
1/11/2010