-date()- is for daily dates. Thus you must
supply day, month and year.
Think about this way: you are Stata. I
tell you that my birthday is in March 2006.
But I don't tell you which day of the month
it is. You do not have enough information
to compute a daily date. -date- similarly
take partial dates such as those in "my"
form.
Sometimes, if people just know month
and year, say "11/37", they impute a day,
say 15.
So
date("15/" + "11/37", "dmy", 2010)
is legal, as would be
date("15/" + monthyear, "dmy", 2010)
if -monthyear- were a variable.
Also check out -split-, -substr()-, -strpos()-.
Run-together dates are discussed by StataCorp at
FAQ . Handling date information when numbers are in a continuous sequence
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . D. Reichel
2/03 How do I convert date variables into Stata elapsed
dates when the numbers run together, like 4151999?
http://www.stata.com/support/faqs/data/dateseq.html
That points to a user-written program -todate- on SSC. I am not sure
why StataCorp is reluctant to add functions for run-together dates,
unless it is concern that the problem can be ill-posed, e.g. "11106".
Nick
[email protected]
Akihito Tokuhara
> By the way, what if the dates are in other forms, such as 11/1937, or
> 23101988, etc. ?
>
> I think of something like :
>
> generate qyr = date(dateinc, "mdy" | "my" | "string-here" | etc. )
>
> to read and then do other steps. But I can't make it work, at
> least with format "my" ?
>
> Even when using qyr = monthly(dateinc) if (some specific
> conditions), I
> can't get the 4-digit year number from format "my".
*
* 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/