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: Problem with datetime functions


From   Jeph Herrin <[email protected]>
To   [email protected]
Subject   Re: st: Problem with datetime functions
Date   Tue, 11 Jun 2013 14:21:17 -0400

Or if you want to store as a non-date integer

 gen myday2=real(string(myday,"%tdCYND"))

will do.

J


On 6/11/2013 10:35 AM, Nick Cox wrote:
It's not a bug in Stata. It's yours.

On your -generate- you need a data type other than -float- to hold
every digit exactly. -long- should work, but whenever dates and times
are mentioned, thinking -double- is safe.

-tostring, force- shows that you knowingly run risks of damaging the data.

But why -generate- a new variable? Use the display format  %tdCYND

clonevar myday2 = myday
format myday2 %tdCYND

is a better way to proceed if you really need a new variable.

Nick
[email protected]


On 11 June 2013 15:18, George Vega Yon <[email protected]> wrote:
Dear list members,

I'm facing a problem while generating an integer from day-time
variable. In short, what I (in stata %td format) have is

myday
01jan2002
02jan2002
03jan2002
04jan2002
...

What I want is

myday2
20020101
20020102
20020103
20020104
...

Which is I though I could generate by:

gen myday2 = year(myday)*10000 + month(myday)*100 + day(myday)

But acctually returns

myday2
20020100
20020102
20020104
20020104

So, it seems that stata is rounding my new variable. I don't want to
say that this is a bug, but what are the alternatives?.

I've solve this with:

format %tdCCYYNNDD myday
tostring myday, u gen(myday2) force
destring myday2, replace

myday2
20020101
20020102
20020103
20020104

But still, stata rounding my integers doesn't sound very good. Any ideas?

Thanks!

George Vega

PS: Running on windows 7
c(stata_version) = 12.1
c(version) = 12.1
c(born_date) = "18 Dec 2012"
c(flavor) = "IC"
c(os) = "Windows"
c(osdtl) = "64-bit"
c(machine_type) = "PC (64-bit x86-64)"
c(byteorder) = "lohi"



George Vega Yon
7 647 2552
http://cl.linkedin.com/in/georgevegayon
*
*   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/


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