我有日期的单元阵列作为字符串(格式:“MM / DD / YYYY”),其中该串的长度由细胞条目根据日期(例如,n = 8“变化范围为8至10,1/1 / ''2015年10月10日'和n = 10) . 我想将每个单元格数组条目转换为其对应的double作为datenum数量 . 我试过了:
id = find(~cellfun( @isempty, regexp( dateList, '/', 'tokenExtents' ) ) );
和
id = find(~cellfun( @isempty, strfind( dateList, '/' ) ) );
但这不对 . 提供了一个单元格数组的片段:
dateList = {'9/9/2016';
'9/10/2016';
'10/10/2016';
'10/11/2016'};
2 回答
1)使用strsplit将每个单元格提取到3个不同的块:日,月和年
2)使用pad使每个块的长度相同(白天和月份为2,年份为4)
3)将字符串与[D,'/',M,'/',Y]一起加入,您就可以毫无问题地运行datenum .
编辑1:我认为另一个答案要容易得多,我不知道datenum可以采用略有不同的字符串 .
所有你必须使用的是datenum,因为它将接受一个字符串的单元格数组:
并确认它有效: