How to read dates/times with time zone

7 ビュー (過去 30 日間)
Robert
Robert 2018 年 4 月 17 日
コメント済み: Robert 2018 年 4 月 18 日
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!
  1 件のコメント
Robert
Robert 2018 年 4 月 17 日
Sorry, I forgot to add my example...
t = datetime('2003-01-16T06:28:00Z','TimeZone','local','Format','yyyy-MM-dd''T''HH:mm:ss Z')

サインインしてコメントする。

採用された回答

Robert U
Robert U 2018 年 4 月 18 日
編集済み: Robert U 2018 年 4 月 18 日

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

  2 件のコメント
Robert U
Robert U 2018 年 4 月 18 日
Or even shorter:
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') );
strOut = sprintf('YYYY mm dd HH MM SS\n');
strOut = [strOut,tOut];
disp(strOut)
Robert
Robert 2018 年 4 月 18 日
Great, thank you so much!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSearch Path についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by