datenum problem in matlab

1 visualización (últimos 30 días)
Niki-Kuriaki Tsaprazi
Niki-Kuriaki Tsaprazi el 7 de Nov. de 2012
Hi,
I have a problem in a Matlab code. I import dates from excel, then Matlab "reads" them with datestr, but after that, when Matlab convert them to numbers with datenum I have problem. The format of dates are 01/01/2012. When a day of a date is from 13 of a month till the end of the month Matlab read the day as 06/03/0021 or 06/04/0034. From 1st of a motnh till 12 of the month a have no problem because it convert the days to numbers correct..
When I run the code without importing dates from excel, I put them manually on editor I don't have any problem..
Please help me!

Respuesta aceptada

Pedro Villena
Pedro Villena el 7 de Nov. de 2012
Editada: Pedro Villena el 7 de Nov. de 2012
str = '01/01/2012'; %%string of the date, read from XLS file
First, you have to specify the date format that you have in your XLS file ( Control Panel >> Regional Configuration ).
format = 'dd/mm/yyyy';
or
format = 'mm/dd/yyyy';
Then, you could convert the date to number, and the number to date, without mistakes
str = '01/01/2012'; %%string of the date, read from XLS file
n = datenum(str,format);
s = datestr(n,format); %%s must be the equal to str

Más respuestas (2)

Titus Edelhofer
Titus Edelhofer el 7 de Nov. de 2012
Hi,
my guess is that your data is of the form dd/mm/yyyy, so first the day, then month, then year. But if you omit the date format when calling datenum, datenum guesses your data to be of American format (month first, so mm/dd/yyyy). That's why the first 12 will work (but give again guessing a wrong number!). To make the long story short, use the specific date format string as Pedro suggested.
Titus

Niki-Kuriaki Tsaprazi
Niki-Kuriaki Tsaprazi el 8 de Nov. de 2012
Pedro and Titus, thank you very much for your answers. You help me a lot!! Now, my matlab file works correctly. Thank you very much!

Categorías

Más información sobre Dates and Time en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by