如何在Matlab中将日期转换为数字

时间:2012-03-29 17:26:23

标签: matlab time format

我有一些像这样的变量:

a(1)=00:26:00
a(2)=744:32:00
a(3)=8040:33:00

我想将它们转换为数字,所以我使用datenum命令 最大的数字应该是8040:33:00,但看看会发生什么。

datenum(a([1 2 3]))

ans =

1.0e+005 *

7.3487
7.3485
7.3486

但如果我不计算(1):

datenum(a([2 3]))

ans =

1.0e+005 *

7.3490
7.3520

这是我想得到的结果。我认为问题是a(2)和a(3)超过24小时但我还没有找到解决这个问题的方法。
感谢。

1 个答案:

答案 0 :(得分:1)

你没有给我们你的实际输入。具有

a(1)=00:26:00
a(2)=744:32:00
a(3)=8040:33:00

表示a包含三个零。 (doc colon解释了原因。)

如果我猜测你实际做的是对的,你应该可以使用

cellfun(@datenum, a)

我没有深入检查过,但确实这种行为看起来有点令人惊讶。您可能需要联系MathWorks支持并提交错误报告。

相关问题