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: Coverting variable to date and time
From
Nick Cox <[email protected]>
To
"[email protected]" <[email protected]>
Subject
Re: st: Coverting variable to date and time
Date
Fri, 24 May 2013 12:02:22 +0100
The difference between %tc and %tC is documented. If it's not clear to
you, then perhaps Google "leap seconds" or go beyond the help and look
at the manual.
Your second -replace- won't work even in principle, and neither will
work in practice.
gen ampm = cond(hh(datetime) < 12, "am", "pm")
might be one way of doing what I think you want.
Nick
[email protected]
On 24 May 2013 11:45, Neophytos Stylianou
<[email protected]> wrote:
> Nick I have some more questions about time and date.
>
> I have read through the help file but it is not clear to me what is the difference of %tc and %tC
>
> I have converted my data to YMDhms and it works
>
> Just for my practise I have also split the variable and converted the two splits into date and time variable form strings
>
> I have entries for the same date but for morning as well as afternoon.
>
> How will I separate them in AM and PM?
>
> Is it something like:
> Gen time2= AM if time1 >=00:00:00 & time1<=12:00:00
> Replace time2=PM if time1>12:00:00 &time1<00:00:00
>
> Thnaks
> Neo
>
> -----Original Message-----
> From: [email protected] [mailto:[email protected]] On Behalf Of Nick Cox
> Sent: 24 May 2013 11:00
> To: [email protected]
> Subject: Re: st: Coverting variable to date and time
>
> That is no problem: it is in many ways the easiest and best way to import dates and/or times into Stata.
>
> From your example, the -split- command is sufficient to split your variable into date and time strings: its default is to parse on spaces. See -help split-. However, that is a red herring here.
>
> Stata has a rich variety of date and time functions making anything that you want. See -help dates- for a full introduction. What is below shows how to start. The help I have referenced shows how to go further.
>
> . set obs 1
> obs was 0, now 1
>
> . gen double datetime = clock("2005-02-19 09:38:00.000", "YMD hms")
>
> . format datetime %tc
>
> . l
>
> +--------------------+
> | datetime |
> |--------------------|
> 1. | 19feb2005 09:38:00 |
> +--------------------+
>
> Nick
> [email protected]
>
>
> On 24 May 2013 10:35, Neophytos Stylianou <[email protected]> wrote:
>> Hello,
>>
>> I am using Stata 12.1 and I have a variable containing date and time.
>>
>> The problem is that it is a string variable and it contains both date and time within it.
>>
>> I want to split them into date variable and time variable but also have the opportunity to have a date time combined variable.
>>
>> Example of what the variable contains :
>>
>> 2005-02-19 09:38:00.000
>> 2005-02-19 09:46:00.000
>>
>> I want a variable of date i.e 19/02/2005 and time 09:38:00
>>
>> I would do it manually if it was a small number of records but there
>> are more than 1.3million rows
>>
>> I know that I can combine the date and time variables which will be
>> created using gen double datetime = date*24*60*60*1000 + time format
>> datetime %tcNN/DD/CCYY_HH:MM:SS
>>
> *
> * For searches and help try:
> * http://www.stata.com/help.cgi?search
> * http://www.stata.com/support/faqs/resources/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/faqs/resources/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/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/