MATLAB: How to read dates/times with time zone

datesreadtime zonetimes

Hi,
Wondering how to read the following dates/times:
2003-01-16T06:28:00Z
2003-02-16T03:13:00Z
2003-03-16T04:11:07Z
...
Then create 6 columns with that info like:
YYYY mm dd HH MM SS
2003 01 16 06 28 00
2003 02 16 03 13 00
2003 03 16 04 11 07
...
Thank you for your help!

Best Answer

Hello Robert:

I assume the original date is given in ISO8601 format. In that case 'Z' means zero offset to UTC+0.

Nevertheless, here is the code to read and convert as you requested:

 t = datetime('2003-01-16T06:28:00Z','TimeZone','local','InputFormat','yyyy-MM-dd''T''HH:mm:ssX');
 tOut = char( datetime(t,'Format','yyyy/MM/DD/HH/mm/ss') );
 cOut = strsplit(tOut,'/');
 strOut = sprintf('YYYY mm dd HH MM SS\n');
 strOut = [strOut,sprintf('%4s %2s %2s %2s %2s %2s\n',cOut{1},cOut{2},cOut{3},cOut{4},cOut{5},cOut{6})];
 disp(strOut)

Kind regards,

Robert