Finding the end date of each month/year

8 vues (au cours des 30 derniers jours)
antonet
antonet le 25 Juin 2012
Dear all,
I have the following sequence of dates
dates =[ '23/11/08'
'28/12/08'
'25/01/09'
'22/02/09'
'29/03/09'
'26/04/09'
'24/05/09'
'28/06/09'
'26/07/09'];
Is there any way to find the end date for each of these months.
For example the last date of November 2008 (11/08) is 30/11/08. Similarly, the last date of December 2008 is 31/12/08 and so forth. I have a large vector of “dates” and an “quick” way to find these dates would be better
Thank you

Réponse acceptée

Andrei Bobrov
Andrei Bobrov le 25 Juin 2012
one way
dates =[ '23/11/08'
'28/12/08'
'25/01/09'
'22/02/09'
'29/03/09'
'26/04/09'
'24/05/09'
'28/06/09'
'26/07/09'];
dv = datevec(dates,'dd/mm/yy');
dc = num2cell(dv(:,1:2),1);
enddates = datestr(datenum(dc{:},eomday(dc{:})),'dd/mm/yy');
or
[Y, M] = datevec(dates,'dd/mm/yy');
out = datestr(datenum([Y, M, eomday(Y, M)]),'dd/mm/yy');
second way with use function eomdate from Financial Toolbox
enddates = datestr(eomdate(datenum(dates,'dd/mm/yy')),'dd/mm/yy');
other way
[Y, M] = datevec(dates,'dd/mm/yy');
enddates = datestr(datenum(Y,M+1,1)-1,'dd/mm/yy');
  1 commentaire
antonet
antonet le 25 Juin 2012
WoW! thanks a lot andrei!

Connectez-vous pour commenter.

Plus de réponses (1)

grapevine
grapevine le 25 Juin 2012
This is what you are looking
E = eomday(Y, M)
returns the last day of the year and month given by corresponding elements of arrays Y and M.
  1 commentaire
antonet
antonet le 25 Juin 2012
Thank you! i did not know that such function exists
So this means that I have to do something like
eomday(2008, 11:12)
and eomday(2009, 1:7) which is fine.
But this approach seems to be "quite manual".
My goal is to replace the above "dates" vector with the "end dates" vector less
"manually"
That is, to replace
dates =[ '23/11/08'
'28/12/08'
'25/01/09'
'22/02/09'
''29/03/09'
' '26/04/09'
'24/05/09' '
'28/06/09' '
'26/07/09'];
with
enddates=[31/11/08
30/12/08
.
.
.]
Is there a way to do that more quickly?
thank you again

Connectez-vous pour commenter.

Catégories

En savoir plus sur Dates and Time dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by