Matlab 从字符串的单元格数组创建日期数组
我有一个字符串单元格数组,其前几个元素如下所示:Matlab 从字符串的单元格数组创建日期数组,matlab,text-processing,cell-array,Matlab,Text Processing,Cell Array,我有一个字符串单元格数组,其前几个元素如下所示: '140322P00024000' '140324PR0025000' '140325P00Q26000' 其中,“140322”是指2014-03-22(2014年3月22日)。我想从上面获取以下数组: 735680 735682 735683 请注意,在给定的数组中,只有前6个字母是一致的,它们表示日期 DateString = '19-May-2001'; formatIn = 'dd-mmm-yyyy'; datenum(DateSt
'140322P00024000'
'140324PR0025000'
'140325P00Q26000'
其中,“140322”是指2014-03-22(2014年3月22日)。我想从上面获取以下数组:
735680
735682
735683
请注意,在给定的数组中,只有前6个字母是一致的,它们表示日期
DateString = '19-May-2001';
formatIn = 'dd-mmm-yyyy';
datenum(DateString,formatIn)
摘自:
转换为“DD-MM-YYYY”字符串应该很简单:
currentLine = cellArray{y,x};
DateString = [currentLine[3:4] '-' currentLine[5:6] '-20' currentLine[1:2]];
希望这有帮助。前六个字符可以直接使用格式转换为
'yymmdd'
:
>> d = datenum('140322','yymmdd')
d =
735680
>> datestr(d)
ans =
22-Mar-2014
用以下方法完成所有操作:
>> cellfun(@(x)datenum(x(1:6),'yymmdd'),C)
ans =
735680
735682
735683