Clear Filters
Clear Filters

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

285 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')

Community Treasure Hunt

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

Start Hunting!