从datestr(,'yyyy-mm-dd')删除前导0(以个位数的月份和日期)

时间:2016-03-08 12:38:06

标签: matlab date datetime

我希望从以下日期格式mm中移除ddyyyy-mm-dd中的前导零,并希望获得有关我的尝试的相关反馈。

为了说明我的观点,dat=datestr(now-1,'yyyy-mm-dd')最终得到2016-03-07,但我希望找回2016-3-7

到目前为止,我一直试图找出一个次优代码,导致216-3-7

dat=datestr(now-1,'yyyy-mm-dd');
o=ones(size(result));
z=strfind(dat,'0');
o(zero)=0;
msb=find(mask~=0);
res=dat(msb)

我承认这项任务非常棘手,因为默认情况下不应删除0smm中的所有dd,而只应删除一位数mmdd使用datestr()函数时出现前导零的{1}}(假设从1-9开始)。

最佳,

1 个答案:

答案 0 :(得分:3)

datestr不支持这样的格式,你必须使用像sprintf这样的通用函数来格式化它

x=datevec(now-1);
res=sprintf('%d-%d-%d',x(1),x(2),x(3));