我的日期是1/11/2010
并使用该功能
=日期(年(A1),月(A1),日(A1))
使用Excel将日期转换为数字40189.
我可以使用MATLAB将数字40189再次转换回日期吗?
Jon*_*nas 11
使用DATESTR
>> datestr(40189)
ans =
12-Jan-0110
Run Code Online (Sandbox Code Playgroud)
遗憾的是,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
Run Code Online (Sandbox Code Playgroud)
换句话说,要转换任何序列Excel日期,请调用
datestr(excelSerialDate + 693960)
Run Code Online (Sandbox Code Playgroud)
编辑
要以mm/dd/yyyy格式获取日期,请datestr
使用指定的格式进行调用
excelSerialDate = 40189;
datestr(excelSerialDate + 693960,'mm/dd/yyyy')
ans =
01/11/2010
Run Code Online (Sandbox Code Playgroud)
此外,如果您想要摆脱本月的前导零,您可以使用REGEXPREP来修复问题
excelSerialDate = 40189;
regexprep(datestr(excelSerialDate + 693960,'mm/dd/yyyy'),'^0','')
ans =
1/11/2010
Run Code Online (Sandbox Code Playgroud)