Round Datetime to certain minutes

5 vues (au cours des 30 derniers jours)
Dario Walter
Dario Walter le 19 Nov 2020
Commenté : Dario Walter le 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.

Réponse acceptée

dpb
dpb le 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...
  1 commentaire
Dario Walter
Dario Walter le 20 Nov 2020
So close but yet so far. Thank you!

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Produits


Version

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by