Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: st: RE: working with date values


From   "Lachenbruch, Peter" <[email protected]>
To   "[email protected]" <[email protected]>
Subject   RE: st: RE: working with date values
Date   Wed, 11 Jul 2012 13:02:45 -0700

Please use your name.  this is expected.  Tell your company that if this is their policy, they need to move to a new age.  Alternatively, log in from a personal address.

________________________________________
From: [email protected] [[email protected]] On Behalf Of Data Analytics Corp. [[email protected]]
Sent: Wednesday, July 11, 2012 9:40 AM
To: [email protected]
Cc: Nick Cox
Subject: Re: st: RE: working with date values

Nick,

Thanks for the detailed response.  This makes sense.  But I have to
admit that I'm unfamiliar with mofd() -- obviously, since I didn't use
it.  I'll have to experiment with this and I'll let you know if I have
any more questions.  Thanks for the help

Walt


On 7/11/2012 10:14 AM, Nick Cox wrote:
> David Ashcraft had essentially the same question earlier today.
>
> You have converted a string which is a daily date and got 8766. That is a daily date in numeric form, as you can check:
>
> . di %td 8766
> 01jan1984
>
> Just declaring that this is a monthly date is insufficient to get what you want. You are telling Stata that you have a monthly date that is 8766 months away from January 1960 and that turns out to be a long way into the future.
>
> You need to convert using -mofd()-.
>
> In general, there are two points of view here. One is the user's. A user often just has one kind of date input and wants one kind of date to use, and deep down is probably thinking "All I want to do is this; why is it so confusing?". But over many different users needs vary, and that implies lots and lots of functions to get from one to the other. So, the documentation has to be long and complicated to cover all the stuff that people might need.
>
> The other is StataCorp's. StataCorp is in general very resistant to re-naming anything and we tend to regard that as a very good thing. However, -date()- in particular is emphatically not a function for producing dates in general. I suspect that is often not fully understood. It is a function for producing _daily_ dates from various kinds of string input. Its name goes back to a time when daily dates were the only kinds of dates that Stata handled.
>
> Another common misunderstanding is a belief that changing the format changes the value. No; it just changes how that value is displayed. So, if you tell Stata to display something as a monthly date, it obliges; as a daily date, it obliges, and so on.
>
> I suggest
>
>           gen datem = mofd(date(date, "MDY"))
>           format %tm datem
>
> Nick
> [email protected]
>
> Data Analytics Corp.
> I'm confused on handling dates.  I imported a dataset on steel shipments
> that has a variable called date.  This is a string with the first date
> value as "01/01/1984"  for Jan 1, 1984.  Using describe, I see that date
> is str10 %10s.  I then did
>
>           gen date2 = date(date, "MDY")
>
> and the first value for date2 is 8766.  Then I did
>
>           format %tm date2
>
> and I expected to see jan1984 after doing a list.  But I got 2690m7.
> When I did
>
>           format %td date2
>
> I got 01jan1984.  I want jan1984.  How do I do this?  What is the
> correct way to convert a string that's in the form "MM/DD/YYYY"?
>
>
> *
> *   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/


© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index