- 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
9 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Walter Roberson
on 19 Dec 2017
Edited: Walter Roberson
on 19 Dec 2017
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 Comments
More Answers (0)
See Also
Categories
Find more on Time Series Objects in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!