我正在创建一个时间戳序列,开始和结束于每三个小时的特定日期。我尝试过的方式工作得很好,但都有同样的问题。在序列中间的某个地方,PST到PDT之间有时间转换,我不知道为什么。以下是我已经尝试了代码,类似于本网站事前(Question1和Question2)提出的问题:每三个小时的时间戳序列
TIME1 <- as.POSIXct("2000-01-01 02:00:00", tz = "America/Los_Angeles")
TIME2 <- as.POSIXct("2016-02-29 23:00:00" , tz = "America/Los_Angeles")
temp <- seq(from = TIME1, to = TIME2, by = "3 hours")
当我看的temp
输出,它看起来很不错,在第一时间寻找时除外下面
temp[720:745]
[1] "2000-03-30 23:00:00 PST" "2000-03-31 02:00:00 PST" "2000-03-31 05:00:00 PST" "2000-03-31 08:00:00 PST" "2000-03-31 11:00:00 PST" "2000-03-31 14:00:00 PST"
[7] "2000-03-31 17:00:00 PST" "2000-03-31 20:00:00 PST" "2000-03-31 23:00:00 PST" "2000-04-01 02:00:00 PST" "2000-04-01 05:00:00 PST" "2000-04-01 08:00:00 PST"
[13] "2000-04-01 11:00:00 PST" "2000-04-01 14:00:00 PST" "2000-04-01 17:00:00 PST" "2000-04-01 20:00:00 PST" "2000-04-01 23:00:00 PST" "2000-04-02 03:00:00 PDT"
[19] "2000-04-02 06:00:00 PDT" "2000-04-02 09:00:00 PDT" "2000-04-02 12:00:00 PDT" "2000-04-02 15:00:00 PDT" "2000-04-02 18:00:00 PDT" "2000-04-02 21:00:00 PDT"
[25] "2000-04-03 00:00:00 PDT" "2000-04-03 03:00:00 PDT"
在输出的[1]
线通知指定的时间间隔,这是不言而喻从“二零零零年三月三十零日23时00分00秒PST”到“2000年3月31日02:00:00 PST”,这是3小时,但在线[13]
它从“2000-04-01 23:00:00 PST”到“2000-04-02 03:00:00 PDT”。注意那里的时区变化。这贯穿整个序列。任何想法如何避免这样的结果?我相信它会自动为我转换夏令时,这是我不想要的。如果我能将它保持为LST(当地标准时间),那将非常好。
更新:我最近找到了this suggestion,我们只是将时区“UTC”转换为夏令时。它的工作原理是将所有时间标记为UTC。然而,看看是否仍有办法将它保持为LST将会很好。
[处理的天的数据,当我们切换到日光节约时间和回R]的可能的复制(http://stackoverflow.com/questions/13865172/handling-data-on-the-天 - 当我们切换到日光节约 - 时间和返回在r) – dayne
LST =当地标准时间? –
也可以看看'lubridate'软件包中的'dst'和'dhours'功能。他们在这里相关。 – shayaa