我想将格式的日期列从mm / dd / yyyy(它们以4/10/2007格式,或两位数月份,2007年10月10日)格式转换为yyyy-mm -dd,并绘制它。所以我需要将mm / dd / yyyy变成序列号。
当日期列已经是yyyy-mm-dd格式时,以下代码有效:
DateString = PM25data(:,11); % Pull out dates
formatIn = 'yyyy-mm-dd';
x1 = datenum(DateString,formatIn); % Convert to datnum
但是,由于这里的日期格式是mm / dd / yyyy(例如,2007年12月12日),我无法使用上述格式来处理错误
DATENUM failed.
Caused by:
Error using dtstr2dtnummx
Failed on converting date string to
date number.
我也试过这段代码:
DateString = PM25data(2:end,1);
formatOut = 'yyyy-mm-dd';
x4 = datenum(DateString, formatOut); % Convert to datnum
但是它运行了这个错误:
Cannot convert input into specified date
string.
DATENUM failed.
在这种情况下如何让datenum工作?
答案 0 :(得分:2)
格式'mm/dd/yyyy'
只是datenum
中的格式23。所以:
>> string = '4/12/2007';
>> datenum(string,23)
ans =
733144
或明确定义格式:
>> string = '4/12/2007';
>> datenum(string,'mm/dd/yyyy')
ans =
733144