express datetime from now, every 3h

2 vues (au cours des 30 derniers jours)
Jeong_evolution
Jeong_evolution le 30 Oct 2016
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
  1 commentaire
Jeong_evolution
Jeong_evolution le 3 Nov 2016
Thanks. Good Information!

Connectez-vous pour commenter.

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);
  1 commentaire
Jeong_evolution
Jeong_evolution le 3 Nov 2016
Thanks. code is very simple. And good operate.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by