В MATLAB Как рассчитать время между двумя датами в произвольном формате? - PullRequest
0 голосов
/ 13 декабря 2018

У меня есть две даты в формате ниже, и я хочу рассчитать время между этими временами:

 t1=datestr(clock,'dd-mm-yyyy HH:MM:SS:FFF');
 t2=datestr(clock,'dd-mm-yyyy HH:MM:SS:FFF');

Мой вывод должен быть в следующем формате:

 (YY:MM:DD:HH:MM:SS:FFF)

в качестве примера (0: 0: 1: 2: 3: 44: 25: 330)

1 Ответ

0 голосов
/ 13 декабря 2018

Вы можете сначала преобразовать массивы символов t1 и t2 в числовой формат, используя функцию datenum (), затем вы можете вычислить разницу между вычисленными числовыми датами обратно в требуемый формат, используя функцию datestr ().

Код, иллюстрирующий процедуру, приведен ниже.

% storing the two times
t1=datestr(clock,'dd-mm-yyyy HH:MM:SS:FFF')
t2=datestr(clock,'dd-mm-yyyy HH:MM:SS:FFF')

% convertine the stored times to numeric format
% using datenum()
numeric_t1 = datenum(t1, 'dd-mm-yyyy HH:MM:SS:FFF');
numeric_t2 = datenum(t2, 'dd-mm-yyyy HH:MM:SS:FFF');

% calculating the time difference
time_diff = datestr((numeric_t2 - numeric_t1), 'yy:mm:dd:HH:MM:SS:FFF')

Вывод командного окна

enter image description here

...