簡體   English   中英

如何在MATLAB中將日期時間設置為5的倍數?

[英]How can I make datetime in multiples of 5 in MATLAB?

我有個約會

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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM