I have a date variable that is a string in the form "200201" or 201004" ie four digits of year and then two digits of month. How can I create a date variable from that?
-
Login or Register
- Log in with
clear input str6 awkward "200201" "201004" end gen wanted1 = monthly(substr(awkward, 1, 4) + " " + substr(awkward, -2, 2), "YM") gen wanted2 = real(awkward) replace wanted2 = ym(floor(wanted2/100), mod(wanted2, 100)) format wanted? %tm list
. clear . set obs 2 Number of observations (_N) was 0, now 2. . gen awkward = word("200201 201004", _n) . l +---------+ | awkward | |---------| 1. | 200201 | 2. | 201004 | +---------+ . numdate tm wanted = awkward, pattern(YM) . l +------------------+ | awkward wanted | |------------------| 1. | 200201 2002m1 | 2. | 201004 2010m4 | +------------------+
Comment