matlab 获取文件毫秒时间,在Matlab中经过的时间,以毫秒为单位,具有不同的日期...

我想计算数据的经过时间(以毫秒为单位),如下所示:

开始时间:2013-05-04 23:13:06.188结束日期:2013-05-05 1:22:41.617

我不能使用 etime() 因为我需要经过的时间(以毫秒为单位) . 当我使用for循环时这样的事情:

[start_i, end_i] = regexp(data{i}, '\d+-\d+-\d+ \d+:\d+:\d+.\d+');

temp_str = data{i};

time{i} = cellstr(temp_str(start_i:end_i));

n1 = datenum(datevec(time{i-1}, 'yyyy-mm-dd HH:MM:SS.FFF'));

n2 = datenum(datevec(time{i}, 'yyyy-mm-dd HH:MM:SS.FFF'));

n = n2 - n1

它给出以下错误:

使用dtstr2dtvecmx时出错将日期字符串转换为日期编号失败 . datevec中的错误(第118行)y = dtstr2dtvecmx(t,icu_dtformat);测试错误(第40行)n1 = datenum(datevec(时间,'yyyy-mm-dd HH:MM:SS.FFF'));

如果我像这样使用 datevec() :

[start_i, end_i] = regexp(data{i}, '\d+:\d+:\d+.\d+');

temp_str = data{i};

time{i} = cellstr(temp_str(start_i:end_i));

t1 = datevec(time{i-1}, 'HH:MM:SS.FFF');

t2 = datevec(time{i}, 'HH:MM:SS.FFF');

t = t2 - t1

datevec(t)

它逐渐减少时间段,逐个元素(秒数秒,分钟数等),有时也给出负数 .

我认为应该有一个简洁的方法来做到这一点,而无需手动修复负值 . 有谁知道怎么做?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值