Im trying to find a way of subtracting a month from a date variable. Is there a simple way of doing this?
Many thanks
Rachel
Many thanks
Rachel
. clear
. set obs 1
obs was 0, now 1
. gen today = mdy(11, 9, 2016)
. format today %td
. gen month = month(today)
. gen mdate = mofd(today)
. format mdate %tm
. list
+-----------------------------+
| today month mdate |
|-----------------------------|
1. | 09nov2016 11 2016m11 |
+-----------------------------+
gen last = dofm(mofd(today) - 1) + day(today) - 1
mofd(today)
mofd(today) - 1
dofm(mofd(today) - 1)
dofm(mofd(today) - 1) + day(today) - 1
mdy(cond(month(today) == 1, 12, month(today) - 1), day(today), cond(month(today) == 1, year(today) - 1, year(today) ) )
mdy( cond(month(today) == 1, 12, month(today) - 1), day(today), cond(month(today) == 1, year(today) - 1, year(today) ) )
Comment