How to convert unix timestamp (milliseconds) and timezone in R?

后端 未结 2 1183
-上瘾入骨i
-上瘾入骨i 2020-12-11 08:41

I have data which has two columns time and timezone that have the timestamp of events. Examples are:

time               timezone
14         


        
相关标签:
2条回答
  • 2020-12-11 09:37

    It looks like the timezone column is the timezone offset, in milliseconds. I assume that means the timezone column will adjust for daylight saving time manually

    So you should add the time and timezone columns before converting to POSIXct. You should also set the tz to "UTC" so no DST adjustments will be made to your POSIXct object.

    R> time <- 1433848856453
    R> timezone <- 10800000
    R> options(digits.secs=3)
    R> .POSIXct((time+timezone)/1000, tz="UTC")
    [1] "2015-06-09 14:20:56.453 UTC"
    
    0 讨论(0)
  • 2020-12-11 09:47

    I think this can be right for you.

    aa <- 1433848856453
    as.POSIXct(aa/1000, origin="1970-01-01")
    [1] "2015-06-09 13:20:56.453 CEST"
    

    Edit

    Now I've realized that my code is not reproducible, because of my personal settings, but this can fix it and let you achieve the goal.

    options(digits.secs=6)
    
    0 讨论(0)
提交回复
热议问题