datetime的部分格式不正确 .
略微调整:
DateStrings='2014-06-23T17:06:41.584+0200';
t = datetime(DateStrings,'InputFormat','uuuu-MM-dd''T''HH:mm:ss.SSSXXXX','TimeZone','UTC');
哪个回报:
t =
23-Jun-2014 15:06:41
编辑:
忘了问题的第二部分 . 要使用datenum,您将再次需要稍微更改语法 . 我还要注意,您可以对字符串执行此转换,而无需转换为 datetime 数组 .
例如:
DateStrings='2014-06-23T17:06:41.584+0200';
t = datenum(DateStrings, 'yyyy-mm-ddTHH:MM:SS.FFF');
test = datestr(t, 'yyyy-mm-dd HH:MM:SS.FFF');
哪个回报:
t =
7.3577e+05
和
test =
2014-06-23 17:06:41.584
关于 datenum 的最后一点是,不支持时区 . 由于 datenum 代表固定日期的天数,我们可以简单地添加/删除小时数:
DateStrings='2014-06-23T17:06:41.584+0200';
t = datenum(DateStrings, 'yyyy-mm-ddTHH:MM:SS.FFF');
hourstoshift = -2;
t = datenum(t + hourstoshift/24);
test = datestr(t, 'yyyy-mm-dd HH:MM:SS.FFF')
哪个回报:
test =
2014-06-23 15:06:41.584
这里我已经指定了手动移动的小时数,但您也可以解析时间并自动确定 .