我有從設置爲一個時區而沒有夏令時(NZST或UTC + 12:00)的數據記錄器獲得的時間序列數據,數據跨度一些年。數據記錄器不考慮DST更改,並且與/不使用DST(取決於誰部署它)同步到本地時間。在指定時區導入日期時間,忽略夏令時
但是,當我將數據導入R時,我無法正確使用as.POSIXct
來忽略DST。我,使用R 2.14.0 Windows計算機使用這些設置上:
> Sys.timezone()
[1] "NZDT"
> Sys.getlocale("LC_TIME")
[1] "English_New Zealand.1252"
這裏是整個春季DST CHANGE三個時間戳,每個間隔開1小時:
> ts_str <- c("28/09/2008 01:00", "28/09/2008 02:00", "28/09/2008 03:00")
> as.POSIXct(ts_str, format="%d/%m/%Y %H:%M", tz="")
[1] "2008-09-28 01:00:00 NZST" NA
[3] "2008-09-28 03:00:00 NZDT"
> as.POSIXct(ts_str, format="%d/%m/%Y %H:%M", tz="UTC")
[1] "2008-09-28 01:00:00 UTC" "2008-09-28 02:00:00 UTC"
[3] "2008-09-28 03:00:00 UTC"
,你可以看,時鐘在1:59到3點之間跳躍,所以2點無效,因此不適用。此外,我可以使用tz="UTC"
使其忽略DST更改。不過,我寧願保留正確的時區,因爲我有其他數據系列記錄與 DST(NZDT或UTC + 13:00),我想將它們混合(通過merge
)進行分析。
如何在MS Windows計算機上配置tz
參數?我嘗試了很多東西,比如「NZST」,「新西蘭標準時間」,「UTC + 12:00」,「+1200」等,但沒有運氣。或者我修改其他設置?
你可以用'tz =「Etc/GMT + 12」' – James
@詹姆斯,你爲什麼不給出答案? –
@BenBolker會做什麼,只需要添加一個合適的點綴超過1234個小時的字符數限制 – James