如何在MATLAB中以自定义格式查找两次时间差?

如何在MATLAB中以自定义格式查找两次时间差?,matlab,datetime,Matlab,Datetime,在MATLAB软件中,我想计算自定义格式的算法工作时间。它可以工作,但如何自定义它以显示以下格式:年:月:日小时:分钟:秒:毫秒 它显示:“01 00,0000 00:00:06 051”,结果不正确,因为第一个月是01 没有内置的MATLAB函数,因为以月为单位的持续时间有问题(一个月可以是28天、29天、30天或31天) 您可以使用返回日历的函数 需要手动格式化,因为日历功能不支持所需的格式。 首先使用函数将日历持续时间拆分为年、月、日、时间,然后使用sprintf手动格式化: [y,m,d

在MATLAB软件中,我想计算自定义格式的算法工作时间。它可以工作,但如何自定义它以显示以下格式:年:月:日小时:分钟:秒:毫秒

它显示:“01 00,0000 00:00:06 051”,结果不正确,因为第一个月是01


没有内置的MATLAB函数,因为以月为单位的持续时间有问题(一个月可以是28天、29天、30天或31天)

您可以使用返回日历的函数

需要手动格式化,因为日历功能不支持所需的格式。
首先使用函数将日历持续时间拆分为年、月、日、时间,然后使用
sprintf
手动格式化:

[y,m,d,t] = split(between(startTime, endTime), {'years','months','days','time'});
workedTime = sprintf('%02d %02d, %04d  %s', m, d, y, datestr(t, 'HH:MM:SS FFF'));
您想要年:月:日小时:分钟:秒:毫秒,但是您指定了
'mm dd,yyyy HH:mm:SS FFF'
。你能说明你想要什么格式,你遇到什么问题吗?
[y,m,d,t] = split(between(startTime, endTime), {'years','months','days','time'});
workedTime = sprintf('%02d %02d, %04d  %s', m, d, y, datestr(t, 'HH:MM:SS FFF'));