有人可以解释这个日期时间结果

时间:2013-07-17 15:09:05

标签: r posixct

我对这个结果感到困惑:

a = "2008-03-03 12:30:38"

#I convert to POSIXct and set the timezone
dt = as.POSIXct(a, format="%Y-%m-%d %H:%M:%S", tz='Europe/Paris')

dt
[1] "2008-03-03 12:30:38 CET"

unclass(dt)
[1] 1204543838
attr(,"tzone")
[1] "Europe/Paris"

#I want to come back to POSIXct    
as.POSIXct(unclass(dt), origin='1970-01-01', tz='Europe/Paris')
[1] "2008-03-03 11:30:38 CET"

我原本期望回到日期时间a,这里有什么问题?

2 个答案:

答案 0 :(得分:2)

正如?as.POSIXct中所述,原点位于tz="GMT"

您可以改为使用.POSIXct

.POSIXct(unclass(dt), tz='Europe/Paris')
# [1] "2008-03-03 12:30:38 CET"

答案 1 :(得分:0)

您可能想要检查属性:     isdst 要查看某处是否有某些夏令时转换。 此页面from the R manual on Date-Time Classes可能有用