How to separate date and time into two tables?

2 views (last 30 days)
Hi, i am new to Matlab. I have a problem with separating imported data of date and time over the year (8760 values) into two tables. Imported data looks like this. Its a cell of data in one column and i need to separate it to date in one table and time in second table.
'01/01 01:00:00'
'01/01 02:00:00'
'01/01 03:00:00'
'12/31 22:00:00'
'12/31 23:00:00'
'12/31 24:00:00'
Thank you for any help.

Accepted Answer

Jing Xie
Jing Xie on 25 Oct 2016
I hope the following piece of code may help you a little bit. I am not sure if the "table" in your question means the build-in func table in MATLAB. It is added at the end in case. The performance can be improved by using cellfun. As you are new to MATLAB, I guess the for loop structure may be more straightforward.
input_cell={'01/01 01:00:00';
'01/01 02:00:00';
'01/01 03:00:00';
'12/31 22:00:00';
'12/31 23:00:00';
'12/31 24:00:00'};
for i=1:num_data_rows
LamaObecna on 26 Oct 2016
Yes, solved it. Is there a way how to rename name of this categorical column? Column in table right now has name "var1". I am trying to use different syntax of categorical (using Matlab HELP) to rename it, but with no success. E.g. table_date_cell column has name "Date".
Jing Xie
Jing Xie on 26 Oct 2016
You can make it in this way:
final_table = table(categorical(table_time_cell),categorical(table_date_cell),'VariableNames',{'Time','Date'})

Sign in to comment.

More Answers (1)

Marc Jakobi
Marc Jakobi on 25 Oct 2016
Edited: Marc Jakobi on 25 Oct 2016
What format do you need the dates in? As strings? If not, I would recommend using datevec() to convert it to a matrix in the form:
[year, month, day, h, min, s]
so for example:
v = datevec(timestamp, 'mm/dd HH:MM:SS');
You can then separate v(1:3,:) (year, month & day) and v(4:6,:) (hours, minutes & seconds).
Walter Roberson
Walter Roberson on 25 Oct 2016
replace timestamp by the name of your variable that has the time strings.
Steph on 17 Feb 2019
how do I extract date and time variables in 2 seperate columns from a datevector that is 6 by double?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!