Using Dates (if possible) as structure fields.

14 views (last 30 days)
Ajpaezm
Ajpaezm on 18 Dec 2017
Answered: Peter Perkins on 19 Dec 2017
I'd like to know if there's a way to use dates as struct fields. The data I want to store in the struct comes in a daily basis and I'd like to store it inside a struct. The thing is I cannot have field names such as "12/17/2017", nor "12_17_2017" because none of them begin with a letter and in the 1st case I have special characters such as "/" that are forbidden.
Is there a workaround you could suggest to save the data into a struct closely to the way I describe it?
Thanks for your time!
  3 Comments
Ajpaezm
Ajpaezm on 18 Dec 2017
Thanks for pointing that out Stephen. I can re-arrange the formatting of the dates if required by using the ISO 8601 standard, but some API's I'm using to request data use dates as inputs and have a different format for their request. Sometimes the requirements are not standarized.
Walter Roberson
Walter Roberson on 19 Dec 2017
Using datetime objects helps in those cases, as you can can simply set the Format property to the format you need for the purpose without having to do any explicit conversion of formats.

Sign in to comment.

Answers (2)

Walter Roberson
Walter Roberson on 18 Dec 2017
See https://www.mathworks.com/help/matlab/ref/genvarname.html
Or prefix the date with a character and use strrep or regexprep to change the delimiters. Or use datestr to change the date format or change the Format property of a datetime object.

Peter Perkins
Peter Perkins on 19 Dec 2017
It's quite possible that you could use a timetable, in which each row is labelled with a datetime. Hard to say without more info about what you are doing.

Categories

Find more on Structures in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!