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