如何在MATLAB中将日期转换为数字并再返回

时间:2010-10-17 16:52:58

标签: excel matlab date

我有约会 1/11/2010

并使用函数

=日期(年(A1),月(A1),日(A1))

使用Excel将日期转换为40189。

我可以使用MATLAB将数字40189再次转换回日期吗?

1 个答案:

答案 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