Filter löschen
Filter löschen

How to extract hour+minute from DateTime vector ?

18 Ansichten (letzte 30 Tage)
Doug Leaffer
Doug Leaffer am 8 Jun. 2022
Kommentiert: Peter Perkins am 13 Jun. 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 Kommentare
Stephen23
Stephen23 am 8 Jun. 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 am 8 Jun. 2022
Iwill run this code suggestion. Thank you for the advice and the example output, which is helpful

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Stephen23
Stephen23 am 8 Jun. 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 Kommentar
Peter Perkins
Peter Perkins am 13 Jun. 2022
Right.
I mean the real answer is, "you hardly ever need to actually explicitly extract individual time components."

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (2)

dpb
dpb am 8 Jun. 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 am 8 Jun. 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

Kategorien

Mehr zu Introduction to Installation and Licensing finden Sie in Help Center und File Exchange

Produkte


Version

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by