相关疑难解决方法(0)

在指定时区导入日期时间,忽略夏令时

我有从数据记录器获得的时间序列数据,该数据记录器设置为一个时区而没有夏令时(NZST或UTC + 12:00),数据跨越几年.数据记录器不考虑DST更改,并且在有/无DST的情况下同步到本地时间(取决于部署它的人员).

但是,当我将数据输入R时,我无法正确使用as.POSIXct忽略DST.我在具有以下设置的Windows计算机上使用R 2.14.0:

> Sys.timezone()
[1] "NZDT"
> Sys.getlocale("LC_TIME")
[1] "English_New Zealand.1252"
Run Code Online (Sandbox Code Playgroud)

以下是春季DST变化的三个时间戳,每个时间间隔为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"
Run Code Online (Sandbox Code Playgroud)

如您所见,时钟在1:59到3:00向前跳跃,因此2:00无效,因此NA.此外,我可以使用tz="UTC"它来忽略DST更改.但是,我宁愿保留正确的时区,因为我有其他数据系列记录 DST(NZDT或UTC + 13:00),我想混合(通过merge)我的分析.

如何tz在MS Windows计算机上配置参数?我尝试过很多东西,比如"NZST","新西兰标准时间","UTC + 12:00","+ 1200"等,但没有运气.或者我修改其他一些设置?

timezone datetime r time-series dst

9
推荐指数
1
解决办法
1931
查看次数

标签 统计

datetime ×1

dst ×1

r ×1

time-series ×1

timezone ×1