Can't get string to datetime conversion to work
3 views (last 30 days)
Show older comments
There seems to be some sort of inconsistency in the converting to datetime code I missed.
q=datetime('2017-05-17 19:36:00', 'InputFormat','yyyy-MM-dd HH:mm:ss')
this works just fine. However, when I am reading the input string '2017-05-17T19:36:00' from an array, stripping the T, and putting it in exactly the same, it fails to work. example:
%data{1}(n) has the string '2019-05-17T19:36:00'
b = strrep(data{1}(n),'T',' ');
disp(b);
%displaying displays 2017-05-17 19:36:00, just like the earlier statement
timestamp = datetime(b,'InputFormat',format);
When I do this, the error message:
Unable to convert '2017-05-17 19:36:00' to datetime using the format 'yyyy-MM-dd HH:mm:ss'.
is displayed. Am i missing something? are these not exactly the same? Thanks for your help.
Accepted Answer
Walter Roberson
on 11 Jun 2021
The very first entry in your data{1} has a leading U+FEFF character, which is a unicode Byte Order Mark character, but is to be interpreted as a Zero-Width Non-Breaking Space if it occurs anywhere other than the first position
More Answers (1)
J. Alex Lee
on 11 Jun 2021
str = '2019-05-17T19:36:00';
fmt = 'yyyy-MM-dd HH:mm:ss';
b = strrep(str,'T',' ');
disp(b);
timestamp = datetime(b,'InputFormat',fmt)
Works for me ?
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!