Combine two tables based on date time

5 views (last 30 days)
Dion Theunissen
Dion Theunissen on 3 Aug 2021
Commented: Peter Perkins on 5 Aug 2021
I have a table A with a datetime (Year, month day and time) and a table B with a datetime(year month day)
Now I have to combine those two tables with each other based on the date. I have to check what date will match from table A to table B and the that index of table B.
For now I have this script, but it doesn't work
check = dir('*.xls');
weatherYear = readtable("/Users/diontheunissen/Documents/Smart_Driver/RawData/weatherYear.xlsx", opts, "UseExcel", false);
Date = datetime(weatherYear.Aug2020);
name = fullfile(check(1).folder, check(1).name);
Ritten = readtable(name, opts, "UseExcel", false);
Datum = datetime(Ritten.Starttijd);
Datum.Format = 'dd-MMM-yyy';
Ritten.Starttijd = Datum;
t1 = datetime(Datum,'InputFormat','yyyy-MM-dd');
t2 = datetime(Date,'Format','yyyy-MM-dd');
[logical_Index ,index] = ismember(t1,t2);
A =
B=
Anyone who can help me?

Answers (1)

Scott MacKenzie
Scott MacKenzie on 3 Aug 2021
TT1 = table2timetable(A);
TT2 = table2timetable(B):
TT3 = synchronize(TT1, TT2);
  2 Comments
Peter Perkins
Peter Perkins on 5 Aug 2021
Scott's answer is the right way to do this, although you may want to be more xplicit and specify the target time vector and the method. But I think the defaults do what you want.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!