Round Datetime to certain minutes

6 visualizzazioni (ultimi 30 giorni)
Dario Walter
Dario Walter il 19 Nov 2020
Commentato: Dario Walter il 20 Nov 2020
Hey,
I am trying to round an array of datatype datetime to nearest 20 and 50 minutes, e.g. 16:30 - 16:20, 16:54 - 16:50, 16:01 - 15:50, 2020Nov19 00:01 - 2020Nov18 23:50. Does anyone have an idea? I already tried dateshift and interp1.
Your help is highly appreciated.

Risposta accettata

dpb
dpb il 19 Nov 2020
interp1 will work...
dt=datetime(2020,11,18,00,1+[0:30].',0); % sample datetime array
dt20=datetime(2020,11,17,0,[20:30:2400].',0); % 30 min array at 20, 50 past hour
>> interp1(dt20,dt20,dt,'nearest')
ans =
31×1 datetime array
17-Nov-2020 23:50:00
17-Nov-2020 23:50:00
17-Nov-2020 23:50:00
17-Nov-2020 23:50:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
18-Nov-2020 00:20:00
>>
There's probably more clever ways...

Più risposte (0)

Tag

Prodotti


Release

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by