当我使用“xlsread”命令将时间序列从 Excel 导入到 Matlab 时,我遇到了日期问题。例如,在我的 Excel 电子表格中,截至 2013 年 12 月 9 日 09:03(2013 年 12 月 9 日)的日期/时间转换为数字等于 41617.37708333330。当我将其导入到 matlab 时,在序列日期数字类型中,它保持不变 41617.37708333330 但当我将其转换为日期字符串或日期向量类型(使用命令 detester 或相应的 datevec)时,它会转换为
0113 年 12 月 10 日 09:03:00 或 [113 12 10 9 3 0]
即一天后(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)
关于excel - 将日期从 Excel 导入到 Matlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22382691/