excel - 将日期从 Excel 导入到 Matlab

标签 excel matlab datetime

当我使用“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/

相关文章:

excel - 如何使用powershell更改excel CSV保存中的分隔符

java和matlab集成

mysql - 将任何有效的日期格式转换为 mysql 中的日期

c# - 使用 C# 在 sql 数据库中插入日期时间值

perl - 时区应该是常量还是变量?

excel - 如何按单元格中的第一个字符过滤范围?

Excel VBA - 如何正确声明字符串

excel - Aspose 检查单元格和 Aspose WorkSheet.Cells[r,c]

matlab - MATLAB奇怪的错误Gamma函数数值积分

MATLAB 枚举 switch 语句总是进入第一种情况