Calculate difference between two times?...something it's wrong here¡
이전 댓글 표시
I would be very grateful if someone could help me with the following problem, I try to subtract dates, but clearly the result is not what I expect....look¡
>>date =
2012 9 25 0 0 0
2012 9 23 21 0 0
>>d=datenum(date)
d =
1.0e+05 *
7.3514
7.3514
>>difference=d(1)-d(2);
ans =
1.1250
>>datestr(difference,'yyyy mm dd HH MM SS')
ans =
0000 01 01 03 00 00 % should be 0000 00 01 03 00 00
Thanks
채택된 답변
추가 답변 (1개)
What makes you think it should be 0000 00 01 03 00 00?
From the documentation:
A serial date number represents a calendar date as the number of days that has passed since a fixed base date. In MATLAB, serial date number 1 is January 1, 0000.
If you subtract two datenumbers, the result will not be the time elapsed between the two dates.
datevec(723300 - 723297)
If you want the elapsed time:
etime(datevec(723300),datevec(723297)) %in seconds
댓글 수: 3
Oleg Komarov
2014년 9월 17일
편집: Oleg Komarov
2014년 9월 17일
For instance, the abse date is January 0, 0000:
datestr(0,'yyyy mm dd')
ans =
0000 01 00
Rapala
2014년 9월 17일
José-Luis
2014년 9월 17일
Please accept the answer that best solves your problem.
카테고리
도움말 센터 및 File Exchange에서 Calendar에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!