Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | "Martin Weiss" <martin.weiss1@gmx.de> |
To | <statalist@hsphsun2.harvard.edu> |
Subject | st: AW: AW: converting varying formats of string dates into Stata dates |
Date | Thu, 29 Jul 2010 16:58:52 +0200 |
<> Upon further consideration: Need to be more careful. BTW, any other date -format-s can pose new and unexpected problems, so check after each change whether what is happening to the data is in your best interest: ************* clear* inp str9 todate1 "30-Jun-99" "10/15/99" "4/15/1998" "4/15/1998" "8/15/1998" "3/15/00" "6/1/1998" "6/1/1998" "1-MAR-00" "1-MAR-00" "1-MAR-00" "1-MAR-00" "02/15/98" "12/01/98" "1-AUG-00" "8/15/1998" "8/15/1998" "6/30/1998" "6/30/1998" "7/1/1999" end //clean dates split todate1, parse(- /) destring todate13, replace replace todate13=2000+todate13 if inrange(todate13, 0, 10) replace todate13=1900+todate13 if inrange(todate13, 90, 99) //get newdate and turn into Stata date replace todate1=todate11+"/"+todate12+"/"+string(todate13) drop todate1? gen mydate=date(todate1, "DMY", 1990) //separate into good and bad dates separate todate1, by(mi(mydate)) //replace with new strategy the missing ones replace mydate=date(todate11, "MDY", 1990) if mi(mydate) drop todate?? form mydate %tdMon_DD,_CCYY list, noo ************* HTH Martin -----Ursprüngliche Nachricht----- Von: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] Im Auftrag von Martin Weiss Gesendet: Donnerstag, 29. Juli 2010 16:39 An: statalist@hsphsun2.harvard.edu Betreff: st: AW: converting varying formats of string dates into Stata dates <> You can peel this off one by one using -separate- with an expression: ************* clear* inp str9 todate1 "30-Jun-99" "10/15/99" "4/15/1998" "4/15/1998" "8/15/1998" "3/15/00" "6/1/1998" "6/1/1998" "1-MAR-00" "1-MAR-00" "1-MAR-00" "1-MAR-00" "02/15/98" "12/01/98" "1-AUG-00" "8/15/1998" "8/15/1998" "6/30/1998" "6/30/1998" "7/1/1999" end gen mydate=date(todate1, "MD20Y") //weed out the ones still missing separate todate1, by(mi(mydate)) list, noo ************* Then it is on to the next set of problematic dates... HTH Martin -----Ursprüngliche Nachricht----- Von: owner-statalist@hsphsun2.harvard.edu [mailto:owner-statalist@hsphsun2.harvard.edu] Im Auftrag von Kate Rohrbaugh Gesendet: Donnerstag, 29. Juli 2010 16:22 An: statalist@hsphsun2.harvard.edu Betreff: st: converting varying formats of string dates into Stata dates Greetings Statalist: First, I hope my attempts at removing the HTML text were successful. If not, apologies in advance. Second I have several fields that have dates in all sorts of manner, for example (and there are more types, like mar-01-2000, this is just a smattering): . l2 todate1 in 1/20 +-----------+ | todate1 | |-----------| | 30-Jun-99 | | 10/15/99 | | 4/15/1998 | | 4/15/1998 | | 8/15/1998 | |-----------| | 3/15/00 | | 6/1/1998 | | 6/1/1998 | | 1-MAR-00 | | 1-MAR-00 | |-----------| | 1-MAR-00 | | 1-MAR-00 | | 02/15/98 | | 12/01/98 | | 1-AUG-00 | |-----------| | 8/15/1998 | | 8/15/1998 | | 6/30/1998 | | 6/30/1998 | | 7/1/1999 | +-----------+ Is there an ado-file or function out there that can help fix this? We have something called chgdate, but it assumes that all the variables are in "xx/xx/xxxx" format and drops everything else. My goal is to have 1 variable that has a date in the Stata date format. Thank you! Kate Kate Rohrbaugh Research Team Leader Research and Special Studies Independent Project Analysis, Inc. 44426 Atwater Drive Ashburn, VA 20147 direct - 703.726.5465 front desk - 703.729.8300 fax - 703.729.8301 email - krohrbaugh@ipaglobal.com website - www.ipaglobal.com * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/ * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/