A problem with the date structure

Dear all,
I load some data from an excel file and I obtain D={
'dates'
[40521]
[40461]
[40370]
[40310]
[40575]
'30/01/11'
'27/02/11'
'27/03/11'
'24/04/11'
'22/05/11'
'19/06/11'
'17/07/11'
'14/08/11'
[40856]
[40796]
[40705]
};
I know that is has to do with the setting of excel and that I should format the dates.
Can I correct this problem within Matlab so as to have only this format '17/07/11' and not date numbers?
thanks

 Accepted Answer

idx_to_change = cellfun(@isnumeric, D);
dateshift = 695422; %1904 date system; 693960 for 1900 date system
D(idx_to_change) = cellstr( datestr( [D{idx_to_change}] + dateshift ) );

4 Comments

salva
salva on 29 Jul 2012
Edited: salva on 29 Jul 2012
thank you walter. Yet I obtain '12-Jun-2011' instead of 12/9/2011 and also these dates that are created are wrong.
any suggestions?
thanks
salva
salva on 29 Jul 2012
Edited: salva on 29 Jul 2012
I tried
idx_to_change = cellfun(@isnumeric, D);
dateshift =693960; %1904 date system; 693960 for 1900 date system
zz = cellstr( datestr( [D{idx_to_change}] + dateshift ) );
newdates=datestr(zz, 'mm/dd/yy')
D(idx_to_change)=cellstr(newdates);
and it worked.
For some reason when I issue the command
newdates=datestr(zz, 'mm/dd/yy')
I obtain the output day/month/year which I should not expect as I have specified 'mm/dd/yy'
Why is this the case?
Could you please verify the correctness of the above code?
thanks
newdates = cellstr( datestr( [D{idx_to_change}] + dateshift, 'mm/dd/yy' ) );
thank you:)

Sign in to comment.

More Answers (0)

Categories

Tags

Community Treasure Hunt

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

Start Hunting!