How to convert datetime vector to military time
조회 수: 11 (최근 30일)
이전 댓글 표시
This is my code:
files = dir('*.xlsx');
for i=1:10
[~, ~, raw] = xlsread(files(i).name);
rawm = raw(5:6,1);
rawmd = cell2mat(rawm(1));
rawmt = cell2mat(rawm(2));
s = strcat(rawmd(31:40),rawmt(30:38));
ds(i) = datetime(s)
end
It produces a vector that looks like this:
ds'
ans =
10×1 datetime array
14-Feb-2018 11:34:16
15-Feb-2018 12:34:58
15-Feb-2018 01:35:04
15-Feb-2018 02:35:26
15-Feb-2018 03:35:52
15-Feb-2018 04:35:59
15-Feb-2018 05:36:05
15-Feb-2018 06:36:14
15-Feb-2018 07:36:41
15-Feb-2018 08:36:48
How can I change the format of the datetime array to military time so that the times may appear in chronological order?
댓글 수: 0
채택된 답변
Stephen23
2018년 6월 18일
편집: Stephen23
2018년 7월 5일
"How can I change the format of the datetime array to military time so that the times may appear in chronological order?"
You don't need to: the Format of datetime objects relates to how the datetime is displayed, and is unrelated to how it is stored internally, so changing how it looks does not change how it will be sorted. If you want chronological order just apply sort and see what happens:
sort(ds)
If you want to change how the datetime is displayed then you can change its Format property. The ISO 8601 date standard is the best to use, as is guarantees chronological order when sorted by character:
T = datetime(...);
T.Format = 'yyyyMMddHHmmss';
댓글 수: 3
Peter Perkins
2018년 7월 5일
Stephen, I think maybe you meant (H vs. h)
T.Format = 'yyyyMMddHHmmss';
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Dates and Time에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!