How to create a table with a timedate

I am trying to create table like with a column which shows the date from 2022-6-1 to 2022-9-26, and the row shows the time at 21h, 24h,3h,6h,9h,12h,15h,18h like the excel I draw below.
Here is my code, but it doesn't works fine
dates = datetime('2022-06-01'):days(1):datetime('2022-09-26');
times = {'21h', '24h', '3h', '6h', '9h', '12h', '15h', '18h'};
table_data = zeros(length(dates), length(times));
T = array2table(table_data, 'RowNames', times, 'ColumnNames', string(dates));

 Accepted Answer

Try this —
dates = datetime('2022-06-01'):days(1):datetime('2022-09-26');
times = {'21h', '24h', '3h', '6h', '9h', '12h', '15h', '18h'};
varTypes = {'double' 'double' 'double' 'double' 'double' 'double' 'double' 'double'}; % Change This As Necessary
T = table('Size',[numel(dates),numel(times)], 'VariableTypes',varTypes, 'VariableNames',times, 'RowNames',cellstr(dates.'))
T = 118×8 table
21h 24h 3h 6h 9h 12h 15h 18h ___ ___ __ __ __ ___ ___ ___ 01-Jun-2022 0 0 0 0 0 0 0 0 02-Jun-2022 0 0 0 0 0 0 0 0 03-Jun-2022 0 0 0 0 0 0 0 0 04-Jun-2022 0 0 0 0 0 0 0 0 05-Jun-2022 0 0 0 0 0 0 0 0 06-Jun-2022 0 0 0 0 0 0 0 0 07-Jun-2022 0 0 0 0 0 0 0 0 08-Jun-2022 0 0 0 0 0 0 0 0 09-Jun-2022 0 0 0 0 0 0 0 0 10-Jun-2022 0 0 0 0 0 0 0 0 11-Jun-2022 0 0 0 0 0 0 0 0 12-Jun-2022 0 0 0 0 0 0 0 0 13-Jun-2022 0 0 0 0 0 0 0 0 14-Jun-2022 0 0 0 0 0 0 0 0 15-Jun-2022 0 0 0 0 0 0 0 0 16-Jun-2022 0 0 0 0 0 0 0 0
.

4 Comments

I think you misunderstood. For the column part, I don't need the time, just the date (01-06-2022 to 26-9-2022) is fine. As for the row part, like what I draw in excel, show the 21h 24h 3h 6h 9h 12h 15h 18h these 8 time point were fine. I need separate the time and date
See my edited Answer.
it works!! thanks !!!
As always, my pleasure!

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!