how can I add add sec, min and hours to time?

197 views (last 30 days)
zeezo
zeezo on 10 Nov 2017
Edited: Felix Bl on 1 Nov 2018
I want to add sec, min and hours to a time.
Example:
now it is 07:00:00 am and i would like to add 320 sec to be 07:05:20 am
I try "datenum" but this include a date which I don't want ?
  10 Comments
zeezo
zeezo on 13 Nov 2017
Thank you Walter.
can you explain in more details?
Walter Roberson
Walter Roberson on 13 Nov 2017
dt = datetime( '23:58:00', 'InputFormat', 'HH:mm:ss' );
dt.Format = 'HH:mm:ss';
dt + seconds(320)
ans =
datetime
00:03:20

Sign in to comment.

Answers (2)

KL
KL on 10 Nov 2017
Use duration maybe,
>> t1 = duration([07 0 0])
t1 =
duration
07:00:00
>> t2 = t1+seconds(320)
t2 =
duration
07:05:20
  1 Comment
zeezo
zeezo on 13 Nov 2017
Edited: zeezo on 13 Nov 2017
Thank you very much.
this does not recognize the duration as a hour for example
>> t1 = duration([23 58 0])
t1 =
23:58:00
>> t2 = t1+seconds(320)
t2 =
24:03:20
it add to the duration which makes it more than 23:59:59.
I want it to be 00:03:20

Sign in to comment.


Felix Bl
Felix Bl on 1 Nov 2018
Edited: Felix Bl on 1 Nov 2018
This also works fine:
t1 = datestr(addtodate(datenum('07:00:00','HH:MM:SS'),320,'second'),'HH:MM:SS')

Categories

Find more on Dates and Time in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!