How to extract hour+minute from DateTime vector ?

12 ビュー (過去 30 日間)
Doug Leaffer
Doug Leaffer 2022 年 6 月 8 日
コメント済み: Peter Perkins 2022 年 6 月 13 日
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
Stephen23 2022 年 6 月 8 日
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 2022 年 6 月 8 日
Iwill run this code suggestion. Thank you for the advice and the example output, which is helpful

サインインしてコメントする。

採用された回答

Stephen23
Stephen23 2022 年 6 月 8 日
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 件のコメント
Peter Perkins
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
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
Steven Lord 2022 年 6 月 8 日
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

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

製品


リリース

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by