Read mm/dd/yy in Matlab

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

Hope this help.
clear; t = readtable('ABC.xls'); datestr(x2mdate(t.Date),'mm/dd/yy')
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

Worked PERFECTLY! Thanks so much!
Evan
Evan on 2 Jul 2013
Great! You're welcome!

Sign in to comment.

More Answers (0)

Tags

Asked:

on 2 Jul 2013

Commented:

on 1 Jun 2016

Community Treasure Hunt

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

Start Hunting!