[R] DateTime Math in R - POSIXct

Galen Moore galen.a.moore at gmail.com
Tue May 31 05:41:39 CEST 2011


Thank you, David.

I am not subtracting the seconds to convert POSIXct's GMT to MDT, and don't
understand why I should need to.

Any hints, however, as to why  
dateP <- as.POSIXct(tstamp, origin="1970-01-01", tzone="MDT")  
returns a date in the correct tz in my first instance below, yet 

dateP2 <- as.POSIXct(dateN, origin="1970-01-01", tzone="MDT")  
decides to revert to GMT in my second instance below?


Thanks,

Galen


-----Original Message-----
From: David Winsemius [mailto:dwinsemius at comcast.net] 
Sent: Monday, May 30, 2011 20:31
To: galen.a.moore at gmail.com
Cc: r-help at r-project.org
Subject: Re: [R] DateTime Math in R - POSIXct


On May 30, 2011, at 10:20 PM, Galen Moore wrote:

> Greetings -
>
>
>
> I'm battling POSIXct, as per the code below.  My input is actually an 
> XL file, but the weird results below correctly model what I am seeing 
> in my program.
>
>
>
> Before I punt and use lubridate or timeDate, could anyone please help 
> me understand why POSIXct forces my variable back to GMT?
>
>
>
> I suspect that I'm not properly coding the tzone value, but it does 
> not throw an error as-is.
>
>
>
>
>
>> tstamp <- "2011-05-22 11:45:00 MDT"
>
>> mode(tstamp)
>
> [1] "character"
>
>>
>
>> dateP <- as.POSIXct(tstamp, origin="1970-01-01", tzone="MDT")
>
>> mode(dateP)
>
> [1] "numeric"
>
>> dateP
>
> [1] "2011-05-22 11:45:00 MDT"
>
>>
>
>> dateN <- as.numeric(dateP)
>
>> dateN
>
> [1] 1306086300
>

So now the internal representation is referenced to GMT

>>
>
>> dateP2 <- as.POSIXct(dateN, origin="1970-01-01", tzone="MDT")
>
>> dateP2

And you are telling the function to add as many hours offset as needed for
the difference between GMT and MD T.....

--
David.
>
> [1] "2011-05-22 18:45:00 MDT"
>

David Winsemius, MD
West Hartford, CT



More information about the R-help mailing list