How to extract hour+minute from DateTime vector ?

34 visualizaciones (últimos 30 días)
Doug Leaffer
Doug Leaffer el 8 de Jun. de 2022
Comentada: Peter Perkins el 13 de Jun. de 2022
Q: how do I best extract BOTH the hour + minute from a DateTime vector in MATLAB ? My DateTime format is: 15-Apr-2016 11:43:11
I need to fine-tune the rush hours to the exact time ranges below. My current code, below, works but does not include the 'minutes'. Please help.
t = datetime(data.DateTime);d = day(t,'dayofyear'); DayofYr = d;
tf = isweekend(t); % returns logical 1 = true = weekend, else 0
Wkend = tf;
h = hour(data.DateTime); % extract hour from Datetime vector
isAMRush = h>=7 & h<9 ==1; % needs to be revised to: 745a -845a morning rush
isPMRush = h>=15 & h<17 ==1; % needs to be revised to: 330p -430p afternoon rush
%
  2 comentarios
Stephen23
Stephen23 el 8 de Jun. de 2022
D = datetime(2016,4,5,[8;11],43,11)
D = 2×1 datetime array
05-Apr-2016 08:43:11 05-Apr-2016 11:43:11
isAMRush = isbetween(timeofday(D),duration(7,45,0),duration(8,45,0))
isAMRush = 2×1 logical array
1 0
Doug Leaffer
Doug Leaffer el 8 de Jun. de 2022
Iwill run this code suggestion. Thank you for the advice and the example output, which is helpful

Iniciar sesión para comentar.

Respuesta aceptada

Stephen23
Stephen23 el 8 de Jun. de 2022
D = datetime(2016,4,5,[8;11],43,11)
D = 2×1 datetime array
05-Apr-2016 08:43:11 05-Apr-2016 11:43:11
isAMRush = isbetween(timeofday(D),duration(7,45,0),duration(8,45,0))
isAMRush = 2×1 logical array
1 0
  1 comentario
Peter Perkins
Peter Perkins el 13 de Jun. de 2022
Right.
I mean the real answer is, "you hardly ever need to actually explicitly extract individual time components."

Iniciar sesión para comentar.

Más respuestas (2)

dpb
dpb el 8 de Jun. de 2022
Convert to durations and use
isAMRush=iswithin(duration(hour(t),minute(t),0),duration(7,45,0),duration(8,45,0));

Steven Lord
Steven Lord el 8 de Jun. de 2022
d = datetime('15-Apr-2016 11:43:11')
d = datetime
15-Apr-2016 11:43:11
[h, m, s] = hms(d)
h = 11
m = 43
s = 11
or
tod = timeofday(d)
tod = duration
11:43:11

Categorías

Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.

Productos


Versión

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by