joining two different datetime arrays
Show older comments
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?
Accepted Answer
More Answers (1)
Walter Roberson
on 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;
Categories
Find more on Dates and Time in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!