gpt4 book ai didi

matlab - 如何在 MATLAB 中将日期时间设置为 5 的倍数?

转载 作者:太空宇宙 更新时间:2023-11-03 20:27:57 25 4
gpt4 key购买 nike

我有个约会

time1 = '03-Apr-2004 00:15:00'
aTime = datenum(time1)

time2 = datestr(addtodate(aTime, -53.1*60, 'minute'))
31-Mar-2004 19:09:00

但我希望 time2 始终是 5 分钟的最接近倍数。我该如何做到这一点(通过添加或乘以某些因子)?

Expected answer: 31-Mar-2004 19:10:00

基本上,在我的整个数据集中,我希望这些值在分钟部分始终为 5、10、15、20、...、55 等。

最佳答案

事实上,你拥有的是一个 datenum , 不是 datetime .例如,您可以先将其转换为 datevec ,然后将分钟四舍五入,然后转换回 datenum:

>> dv = datevec(time2);
>> dv(5) = round(dv(5) / 5) * 5;
>> datestr(datenum(dv))
ans =
31-Mar-2004 19:10:00

如果秒数可能不为零,您也可以将它们设置为零:

dv(6) = 0;

关于matlab - 如何在 MATLAB 中将日期时间设置为 5 的倍数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41599514/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com