如何在matlab中减去两个datestr?

How to subtract two datestr in matlab?

我有一个包含很多样本的数据集。每个样本包含开始和结束时间,每个样本都使用 datestr(now) 获取。

例如

sample.tstart = datestr(now)
%%Some job is running
sample.tend = datestr(now)

如何减去时间来评估作业的运行时间?

谢谢!

您可以转换为 datenum:

tdiff = datenum(sample.tend) - datenum(sample.tstart)

记得 the docs 说:

A serial date number represents the whole and fractional number of days from a fixed, preset date (January 0, 0000).

所以 tdiff 将以天为单位,然后很容易转换为小时或秒或您想要的任何内容。例如转换为秒:

SecondsPerDay = 24*60*60;
tdiffs = tdiff*SecondsPerDay;