从excel导入date到matlab

当我使用'xlsread'命令将时间序列从excel导入到matlab时,我遇到了date问题。 例如,在我的Excel电子表格中,截至2013年12月9日09:03(2013年12月9日)的date/时间翻译为等于41617.37708333330的数字。 当我将它导入到matlab,在序列date数字types保持不变41617.37708333330,但是当我将它转换为datestring或date向量types(使用命令detester或分别datevec)它转换

10-Dec-0113 09:03:00 or [113 12 10 9 3 0]

即一天后(10而不是9)和不同的一年(0113而不是2013)。

有谁知道为什么是这种情况,如何解决?

预先感谢您的任何帮助。

约翰

Matlab使用1-jan-0000为1的date – 数字约定,并且excel使用1-jan-1900为1的约定。所以,当您以exceldate的forms读取数字时,必须将其从一个约定到另一个。

如果numDate是从Excel中读取的值,并且您想要使stringtxtDate,请尝试

txtDate=datestr(numDate+datenum('1-jan-1900')-1)