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));