Re: st: Getting end of month

 From "Svend Juul" To Subject Re: st: Getting end of month Date Sat, 14 Oct 2006 20:43:15 +0200

```Nuno wrote:

I'm converting a set of dates to the end of the respective month, for
instance:
20Jan91 -> 31Jan91
10Mar05 -> 30Mar05
Etc.
Does anyone knows a function in Stata that does this automatically?
---------------------------------------------

// Create 3 dates for the exercise:
clear
input d m y
20 1 1991
10 3 2005
24 12 2005
end
gen date=mdy(m,d,y)
drop m d y
format date %d

// Here we go:
gen dd = day(date)
gen mm = month(date)
gen yyyy = year(date)
gen mm1=mm+1 if mm<12
replace mm1=1 if mm==12
replace yyyy=yyyy+1 if mm==12
gen date1 = mdy(mm1,1,yyyy)-1
format date1 %d
list

I just subtracted 1 from the first day in the following month.
But note the small "complication" with December.

Hope this helps
Svend

________________________________________________________

Svend Juul
Institut for Folkesundhed, Afdeling for Epidemiologi
(Institute of Public Health, Department of Epidemiology)
Vennelyst Boulevard 6
DK-8000 Aarhus C,  Denmark
Phone, work:  +45 8942 6090
Phone, home:  +45 8693 7796
Fax:          +45 8613 1580
E-mail:       sj@soci.au.dk
_________________________________________________________

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```