joining two different datetime arrays
Afficher commentaires plus anciens
Assume
datetime({'Mon, Apr-25-16';'Fri, Mar-25-1'},'InputFormat','eee, MMM-dd-yy')
datetime({'13:00; 14:23'},'InputFormat','eee, hh:MM')
how do I join both datetime arrays so that they become one?
Réponse acceptée
Plus de réponses (1)
Walter Roberson
le 4 Nov 2016
datetime() objects are not good for representing "naked" time-of-day, because the date chosen for them will not be relative to Jan 1, year 0, but instead will be taken relative to the date at the time the datetime() conversion is done. So parsing '14:23' would be taken to be '14:23 today". It would result in a full datetime object, and you cannot add datetime objects -- you cannot say datetime('31-03-2008') + datetime('14:23') to get '31-03-2008 14:23'.
On order to put together a datetime that represents a date and a datetime that represents a time of day, you need to convert the time of day to a duration from the beginning of the day, and then you can add the duration to the datetime that represents the date. You can do that with dateshift()
Date_and_time_together_datetime = Time_of_day_datetime - dateshift(Time_of_date_datetime, 'begin', 'day') + Date_datetime;
Catégories
En savoir plus sur Dates and Time dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!