为什么datetime()输出中的4天对应于Matlab中的1个月和datestr()输出中的4天?
我在Matlab2019a中遇到了以下问题为什么datetime()输出中的4天对应于Matlab中的1个月和datestr()输出中的4天?,matlab,date,Matlab,Date,我在Matlab2019a中遇到了以下问题 >> datestr(datetime('20190927','InputFormat','yyyyMMdd')-datetime('20190923','InputFormat','yyyyMMdd'),'yyyymmdd') ans = '00000104' 为什么答案是1个月4天?应该是零月四日吗 编辑: 我意识到datetime数组上的算法会创建持续时间数组。但我不知道在对datetime数组进行算术运算后如何设置dura
>> datestr(datetime('20190927','InputFormat','yyyyMMdd')-datetime('20190923','InputFormat','yyyyMMdd'),'yyyymmdd')
ans =
'00000104'
为什么答案是1个月4天?应该是零月四日吗
编辑:
我意识到datetime数组上的算法会创建持续时间数组。但我不知道在对datetime数组进行算术运算后如何设置duration数组的格式,也不知道如何以无格式的方式检索duration数据
Datetime算法是我需要的。所以我问这个问题,这样我就可以毫无疑问地进行日期时间算术。d=datetime('20190927','InputFormat','yyyyMMdd')-datetime('20190923','InputFormat','yyyyMMdd'))
返回:
d=
期间
96:00:00
也就是说,96小时。将其转换为日期字符串将导致1月4日。如果你从0年的午夜开始计算小时数,96个小时后你就到了1月4日。没有第0个月了
你能做的是:
d=持续时间(d,'Format','dd:hh:mm:ss')
返回:
d=
期间
04:00:00:00
您还可以执行以下操作:
d=天(d)
返回:
d=
4.
@O'Neil:它们在两个函数中代表不同的东西。这是我在MATLAB文档中读到的最有效的东西之一。我也注意到了这个mm
/mm
的区别,结果证明这是故意的。难以置信@克里斯卢恩戈:谢谢你的加入。我不完全明白。如果0000年01月04日代表1月4日,为什么将年份归零为0000?这是Matlab中默认的第0年吗?