我使用这个简单的代码在两个日期之间生成一系列小时时间步骤:
dates <- strftime(seq(ISOdate(2015, 1, 1, 0, tz = "GMT"), ISOdate(2015, 12, 31, 23, tz = "GMT"), by = "hour"), format = "%Y-%m-%d %H:%M:%S")
问题在于我不想在考虑夏令时变化的情况下产生这些时间。
我在文档中看到我可以使用“by ='day'”或“by ='DSTday'”参数生成序列天数,但我没有看到类似的选项...
我还读到使用“tz ='UTC'”可以解决问题,但似乎没有用。
知道如何做到这一点?感谢
答案 0 :(得分:1)
dst
函数:
library(lubridate)
dates <- seq(as.POSIXct("2015-01-01 0:00:00", tz = "UTC"), as.POSIXct("2015-12-31 23:00:00", tz="UTC"), by="hour")
dates[dst(dates)] <- dates[dst(dates)] - 3600
我会对使用基础软件包的解决方案感兴趣,但是......
答案 1 :(得分:0)
要添加基于Marc解决方案的升级,我认为一个功能程序是:
dates <- dates - dst(dates)*3600.