Generate a Definite timestamp sequence

60 views (last 30 days)
Stefan Azzopardi
Stefan Azzopardi on 11 Jun 2018
Edited: Stefan Azzopardi on 12 Jun 2018
How can I generate a column with a timestamp showing day-month-year hh:mm:ss for every 5 mins of a month? For example I need to create a column for every 5mins of March, therefore the table should show like this:
01/03/2018 00:00:00
01/03/2018 00:05:00
01/03/2018 00:10:00 until
31/03/2018 23:55:00

Answers (1)

per isakson
per isakson on 12 Jun 2018
Edited: per isakson on 12 Jun 2018
The old way
>> vec = repmat([2018,3,1,0,0,0], 31*24*12, 1 );
>> minutes = ( 0 : 5 : 5*(31*24*12-1) )';
>> vec(:,5) = minutes;
>> sdn = datenum( vec );
>> str = datestr( sdn, 'dd/mm/yyyy HH:MM:SS' );
>> str(1:4,:)
ans =
4×19 char array
'01/03/2018 00:00:00'
'01/03/2018 00:05:00'
'01/03/2018 00:10:00'
'01/03/2018 00:15:00'
>> str(end,:)
ans =
'31/03/2018 23:55:00'
However, I guess this is not exactly what you want.
The new way (Introduced in R2014b)
>> t = datetime( vec );
>> t(1)
ans =
datetime
01-Mar-2018 00:00:00
>> t(end)
ans =
datetime
31-Mar-2018 23:55:00
  1 Comment
Stefan Azzopardi
Stefan Azzopardi on 12 Jun 2018
Hi isakson, thanks for your help, In the meantime I still continued to try out some other solutions and managed to create what I was expected using the below code:
t1 = datetime (2018,03,01,0,0,0)
t2 = datetime (2018,03,31,23,55,00)
Timestamp = t1:minutes(5):t2
Timestamp = Timestamp.'
Now I am trying to integate three tables using outerjoin. Do you know if it is possible to join 3 or more tables using outerjoin? I managed to integrate the new variable 'timestamp' with another table of 2 columns ('Timestamp', 'Variable1') and now I intend to add another 2 columns ('Timestamp', 'Variable2')
Best Regards

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!