Matlab 从datestr(,';yyyy-mm-dd';)中删除前导0(以一位数的月份和日期为单位)

Matlab 从datestr(,';yyyy-mm-dd';)中删除前导0(以一位数的月份和日期为单位),matlab,date,datetime,Matlab,Date,Datetime,我希望从以下日期格式yyyy-mm-dd中删除mm和dd中的前导零,并希望获得我尝试的相关反馈 为了说明我的观点,dat=datestr(现在是-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);

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

为了说明我的观点,
dat=datestr(现在是-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)
我承认这项任务相当棘手,因为默认情况下,并非所有
mm
dd
中的
0都应该被删除,但只有单个数字
mm
dd
(比如从1-9开始)在使用
datestr()
函数时会出现前导零


最好的是,

datestr不支持这种格式,您必须使用诸如
sprintf
之类的通用函数来格式化它

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