MATLAB: Express datetime from now, every 3h

datetimeevery 3hexpress

code is
—————————————————————
t = datetime('now','TimeZone','local','Format','y-MMM-d HH');
—————————————————————
In command,
—————————————————————
t = 2016-Oct-31 00
—————————————————————
But I want to express in command
—————————————————————
t_1 = 2016-Oct-30 00
t_2 = 2016-Oct-30 03
t_3 = 2016-Oct-30 06
—————————————————————
every 3 hour
.
.
.
please help me

Best Answer

In addition to Walter's suggestions, it may also be possible to take advantage of the roll-over behavior of the datetime constructor:
>> datetime(2016,11,1,(0:3:36)',0,0)
ans =
13×1 datetime array
01-Nov-2016 00:00:00
01-Nov-2016 03:00:00
01-Nov-2016 06:00:00
01-Nov-2016 09:00:00
01-Nov-2016 12:00:00
01-Nov-2016 15:00:00
01-Nov-2016 18:00:00
01-Nov-2016 21:00:00
02-Nov-2016 00:00:00
02-Nov-2016 03:00:00
02-Nov-2016 06:00:00
02-Nov-2016 09:00:00
02-Nov-2016 12:00:00