MATLAB: How to use datetime

datetimeinputformat

I am not sure what am i doing wrong here.
jday = '190608' % year month day
datetime(jday, 'InputFormat', 'yyMMDD')
this should give me an out put as 8-june-2019
but instead of that it gives me 08-Jan-2019 ! why is this happening ??
i have another question ! i have a time in this format 190608.347009447 – 'yymmdd.ffffffff', 'ffffffff' is the fractional part of the day.
to read this i am using this code !
inputtime = '190608.347009447';
jday = inputtime(1:6);
date(i) = datetime(jday, 'InputFormat', 'yyMMDD') + days(mod(str2double(inputtime), 1))
it gives me an error !!

Best Answer

For your first question, you have to use the InputFormat as 'yyMMdd' instead of 'yyMMDD'
datetime(jday,'InputFormat','yyMMdd')
Changing the above InputFormat also helps in correcting the second error as well; and to get the datetime including time values as follows
inputtime = '190608.347009447';
jday = inputtime(1:6);
datetime(jday, 'InputFormat', 'yyMMdd') + days(mod(str2double(inputtime), 1))
I hope this helps to correct the errors and to get the results as expected.