joining two different datetime arrays
Mostra commenti meno recenti
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?
Risposta accettata
Più risposte (1)
Walter Roberson
il 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;
Categorie
Scopri di più su Dates and Time in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!