determine if a datetime value is on a different day
Mostrar comentarios más antiguos
If I have two datetime values, t1 and t2, how can I determine if t2 is on a different, and later, day than t1? The check needs to account for end-of-month and end-of-year rollovers, and the times (hr, min, sec) may not be the same between t1 and t2. I just need to know if they are are different calendar days.
Functions like between and caldiff seem to return a duration, but if that duration is less than 24 hours, this method won't work. For example, two times only 2 minutes apart but accoss a day boundary:
t1 = datetime('2025-03-01 23:59:00')
t2 = datetime('2025-03-02 00:01:00')
dt = caldiff([t2 t1],'days')
between(t1,t2,'days')
datenum would work, but MATLAB is recommending not to use. How can this be done with datetime values and functions?
Respuesta aceptada
Más respuestas (1)
t1 = datetime('2025-03-01 23:59:00')
t2 = datetime('2025-03-02 00:01:00')
t2 >= t1 & dateshift(t1, 'start', 'day') == dateshift(t2, 'start', 'day')
Categorías
Más información sobre Dates and Time en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!