当我使用'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 or [113 12 10 9 30]
。之后一天(10而不是9)和不同的年份(0113而不是2013)。
有谁知道为什么会这样以及如何解决它吗?
事先感谢您的帮助。
约翰Matlab使用日期到数字的约定,其中1-jan-0000为1,excel使用1-jan-1900为1的约定。因此,当你以数字形式读取excel日期时,你必须将其从一种约定转换为另一种约定。
如果numDate是从excel中读取的值,并且您希望将字符串设置为txtDate,请尝试
txtDate=datestr(numDate+datenum('1-jan-1900')-1)