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

 Réponse acceptée

Peter Perkins
Peter Perkins le 2 Nov 2016
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

Plus de réponses (1)

Steven Lord
Steven Lord le 30 Oct 2016
Don't create individual variables. Instead use the colon operator to create a vector.
N = datetime('now');
d = N:hours(3):(N+days(1));
% or
d = N + hours(0:3:24);

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by