Read mm/dd/yy in Matlab

11 views (last 30 days)
Theodore
Theodore on 2 Jul 2013
Commented: Walter Roberson on 1 Jun 2016
Hello!
I've been reading in an .xls file (although I'd like it to be .csv if that were possible for Matlab to read dates from) and am having trouble with it. They currently are set up in mm/dd/yy format and when read into matlab convert to a multiple digit code that I can't seem to translate back to original dates.
The first date listed is 6/1/90 and converts to the code 33025. Any ideas? Thanks!
  2 Comments
Nelson Mok
Nelson Mok on 1 Jun 2016
Hope this help.
clear; t = readtable('ABC.xls'); datestr(x2mdate(t.Date),'mm/dd/yy')
Walter Roberson
Walter Roberson on 1 Jun 2016
readtable() did not exist at the time the original question was posted.
These days you would use
t = readtable('ABC.xls');
t.Date = datetime(t.Date, 'ConvertFrom', 'Excel', 'Format', 'MM/dd/yy');

Sign in to comment.

Accepted Answer

Evan
Evan on 2 Jul 2013
Edited: Evan on 2 Jul 2013
That data you are reading is being brought in as a date number instead of a date string. The following function allows you to convert date numbers to date strings:
help datestr
You can specify the style that you want datestr to return like so:
d = 33025;
ds = datestr(d,2)
In this case, the 2 argument causes datestr to return in "mm/dd/yyy" format. The documentation for datestr tells what styles are available.
  2 Comments
Theodore
Theodore on 2 Jul 2013
Worked PERFECTLY! Thanks so much!
Evan
Evan on 2 Jul 2013
Great! You're welcome!

Sign in to comment.

More Answers (0)

Categories

Find more on Dates and Time in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!