[R] Automatic time zone conversion

simon sentientc at gmail.com
Mon Dec 5 10:20:57 CET 2005


Dear R-help,

I was trying to convert a date and time record extracted from a fortran 
subroutine I worte and I encounter some problem. The data read in time 
and date in a format like "2000-05-11_01:00:00.0000" in fortran output. 
It is in GMT. I need to convert it to CST (GMT+8). I did the following 
steps.
 > cdate
[1] "2000-05-11_01:00:00.0000\005\003"
# I am not sure why the extra characters at the end but it doesn't 
affect the strptime function so I just ingored it.
 > strptime(cdate,format="%Y-%m-%d_%H:%M:%S")
[1] "2000-05-11 01:00:00"
# In order to incoporate GMT into the record, I use paste function to 
stick it in.
 >as.POSIXct(as.character(strptime(cdate,format="%Y-%m-%d_%H:%M:%S")),tz="GMT")
[1] "2000-05-11 01:00:00 GMT"
#It is easier to just do a arthmatic to convert the timezone and ingore 
this attribute like
 > 
as.POSIXct(as.character(strptime(cdate,format="%Y-%m-%d_%H:%M:%S")),tz="CST")+(8*3600)
[1] "2000-05-11 09:00:00 CST"
I was wondering if there is a simpler method to do this.

Thanks in advance,

Simon




More information about the R-help mailing list