How to extract hour+minute from DateTime vector ?
조회 수: 34 (최근 30일)
이전 댓글 표시
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
Stephen23
2022년 6월 8일
D = datetime(2016,4,5,[8;11],43,11)
isAMRush = isbetween(timeofday(D),duration(7,45,0),duration(8,45,0))
채택된 답변
Stephen23
2022년 6월 8일
D = datetime(2016,4,5,[8;11],43,11)
isAMRush = isbetween(timeofday(D),duration(7,45,0),duration(8,45,0))
댓글 수: 1
Peter Perkins
2022년 6월 13일
Right.
I mean the real answer is, "you hardly ever need to actually explicitly extract individual time components."
추가 답변 (2개)
dpb
2022년 6월 8일
Convert to durations and use
isAMRush=iswithin(duration(hour(t),minute(t),0),duration(7,45,0),duration(8,45,0));
Steven Lord
2022년 6월 8일
d = datetime('15-Apr-2016 11:43:11')
[h, m, s] = hms(d)
or
tod = timeofday(d)
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Introduction to Installation and Licensing에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!