在matlab中从一个中减去一个

时间:2013-08-05 08:32:56

标签: matlab time

我的时间从数据库查询回来,如下所示:

kdbstrbegtime =
    09:15:00

kdbstrendtime =
    15:00:00   

或者更确切地说,这就是它在命令窗口中的样子。

我想创建一个矩阵,其行数等于两个时间戳之间的秒数。是否有时间功能可以轻松实现这一目标?

2 个答案:

答案 0 :(得分:1)

使用datenum将两个时间戳转换为序列号,然后减去它们以获得秒数:

secs = fix((datenum(kdbstrendtime) - datenum(kdbstrbegtime)) * 86400)

由于序列号以天为单位测量,因此结果应乘以86400(一天中的秒数)。然后你可以创建一个矩阵,其行数等于secs例如

A = zeros(secs, 1)

我选择的列数为1,但当然可以修改。

答案 1 :(得分:0)

首先,您必须通过kdbstrendtime命令将kdbstrbegtimechar转换为datestr,然后:

time = datenum(kdbstrendtime )-datenum(kdbstrbegtime )
t = datestr(time,'HH:MM:SS')