Round Datetime to certain minutes
    3 Ansichten (letzte 30 Tage)
  
       Ältere Kommentare anzeigen
    
    Dario Walter
      
 am 19 Nov. 2020
  
    
    
    
    
    Kommentiert: Dario Walter
      
 am 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.
0 Kommentare
Akzeptierte Antwort
  dpb
      
      
 am 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...
Weitere Antworten (0)
Siehe auch
Kategorien
				Mehr zu Dates and Time finden Sie in Help Center und File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!