- datetime uses MM for month and mm for minutes
- datetime uses HH for 24 hour hour
- any alphabetic character that is intended to be used literally must be put inside '' inside the string.
Convert Timestamp into Date Vector
조회 수: 6 (최근 30일)
이전 댓글 표시
I have a timestamp like "x2017_12_1816:00_00". It is in a format "xyyyy_mm_dd_hh:mm:ss". However, matlab will not allow this to convert to a date vector since it's not in an acceptable format. I've been able to convert it to a date format by using the code below, where structFields is a structure containing the unconverted timestamps. As you might imagine, this method takes a long time. I've tried to accomplish the same effect by first converting the timestamps to a number in the format "yyyymmddhhmmss", but have yet to come up with a more efficient algorithm. Any suggestions?
if true
% code
structEdit1 = cellfun(@(x) replaceBetween(x,13,15,':','Boundaries','exclusive'),structFields,'UniformOutput',false);
structEdit2 = cellfun(@(x) replaceBetween(x,16,18,':','Boundaries','exclusive'),structEdit1,'UniformOutput',false);
structEdit3 = cellfun(@(x) strrep(x(),'_','-'),structEdit2,'UniformOutput',false);
structEdit4 = cellfun(@(x) insertAfter(x,11,' '),structEdit3,'UniformOutput',false);
structEdit5 = cellfun(@(x) erase(x,'x'),structEdit4,'UniformOutput',false);
end
댓글 수: 0
채택된 답변
Walter Roberson
2017년 12월 19일
편집: Walter Roberson
2017년 12월 19일
datetime('x2017_12_1816:00_00', 'InputFormat', '''x''yyyy_MM_ddHH:mm_ss', 'Format', 'yyyyMMddHHmmss')
The tricks here:
>> disp('''x''yyyy_MM_ddHH:mm_ss')
'x'yyyy_MM_ddHH:mm_ss
댓글 수: 0
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Time Series Objects에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!