如何在Matlab中将时间结构转换为yyyy-mm-dd的ISO 8601格式?

时间:2014-03-28 17:37:17

标签: matlab structure

我的时间结构如下:

 time.year=str2num(fileNames(i).name(29:32));
 time.month=str2num(fileNames(i).name(33:34));
 time.day=str2num(fileNames(i).name(35:36));
 time.hour=str2num(fileNames(i).name(37:38));
 time.min=str2num(fileNames(i).name(39:40));
 time.sec=30;
 time.UTC=-7;

我需要从ISO 8601格式的yyyy-mm-dd中获取任何建议,如何做到这一点?

1 个答案:

答案 0 :(得分:2)

您可以使用datestr功能:

timeVec = [time.year time.month time.day time.hour time.min time.sec];
timeStr = datestr(timeVec,'yyyy-mm-dd');

会给你当地的日期/时间。

timeVec = [time.year time.month time.day time.hour-time.UTC time.min time.sec];
timeStr = datestr(timeVec,'yyyy-mm-dd');

如果您的工作时间延至第二天,应提供祖鲁语日期/时间。

要将时间字符串添加到输出中,只需将格式字符串更改为'yyyy-mm-dd HH:MM:SS'

另一个很好的资源是Mathwork' documentaion on representing dates and times in MATLAB.