从excel导入日期到matlab

时间:2014-03-13 15:01:54

标签: excel matlab datetime

我使用' xlsread'将时间序列从excel导入到matlab时出现日期问题。命令。例如,在我的Excel电子表格中,截至09.12.13 09:03(2013年12月9日)的日期/时间转换为数字等于41617.37708333330。当我将它导入到matlab时,在串行日期编号类型中它保持相同41617.37708333330但是当我将其转换为日期字符串或日期向量类型时(使用命令detester或datevec),它将转换为

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

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

有人知道为什么会这样,以及如何解决它?

提前感谢您的帮助。

约翰

1 个答案:

答案 0 :(得分:4)

Matlab使用日期到数字的约定,其中1-jan-0000为1,excel使用1-jan-1900为1的约定。所以当你在excel日期中读取数字时,你必须将它从一个约定转换为另一个约定。

如果numDate是从excel读取的值,并且您想要将字符串设为txtDate,请尝试

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