How to extract hour+minute from DateTime vector ?
15 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Doug Leaffer
le 8 Juin 2022
Commenté : Peter Perkins
le 13 Juin 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 commentaires
Stephen23
le 8 Juin 2022
D = datetime(2016,4,5,[8;11],43,11)
isAMRush = isbetween(timeofday(D),duration(7,45,0),duration(8,45,0))
Réponse acceptée
Stephen23
le 8 Juin 2022
D = datetime(2016,4,5,[8;11],43,11)
isAMRush = isbetween(timeofday(D),duration(7,45,0),duration(8,45,0))
1 commentaire
Peter Perkins
le 13 Juin 2022
Right.
I mean the real answer is, "you hardly ever need to actually explicitly extract individual time components."
Plus de réponses (2)
Steven Lord
le 8 Juin 2022
d = datetime('15-Apr-2016 11:43:11')
[h, m, s] = hms(d)
or
tod = timeofday(d)
0 commentaires
dpb
le 8 Juin 2022
Convert to durations and use
isAMRush=iswithin(duration(hour(t),minute(t),0),duration(7,45,0),duration(8,45,0));
Voir également
Catégories
En savoir plus sur Logical 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!