我有一个字符串的单元格数组,其前几个元素如下所示:
'140322P00024000'
'140324PR0025000'
'140325P00Q26000'
其中'140322'
是指2014-03-22(2014年3月22日)。我想从上面获得以下数组:
735680
735682
735683
请注意,在给定的数组中,只有前6个字母是一致的,它们是指日期。
答案 0 :(得分:2)
可以使用格式'yymmdd'
直接使用datenum
转换前六个字符:
>> d = datenum('140322','yymmdd')
d =
735680
>> datestr(d)
ans =
22-Mar-2014
使用cellfun
执行所有操作:
>> cellfun(@(x)datenum(x(1:6),'yymmdd'),C)
ans =
735680
735682
735683
答案 1 :(得分:0)
DateString = '19-May-2001';
formatIn = 'dd-mmm-yyyy';
datenum(DateString,formatIn)
取自:
http://www.mathworks.com/help/matlab/ref/datenum.html
转换为' DD-MM-YYYY'字符串应该很简单:
currentLine = cellArray{y,x};
DateString = [currentLine[3:4] '-' currentLine[5:6] '-20' currentLine[1:2]];
希望这有帮助。