首页 > 解决方案 > 试图在 R 的 POSIXct 函数中获取多个时区

问题描述

所以基本上......这似乎是一个非常简单和快速的解决方案,但我似乎无法弄清楚!我有一个函数可以为我提供当年的夏令时日期以及它们何时发生。但是,我希望该函数输出两个不同的时区,“America/New_York”和“Europe/London”。我想把它放在函数的tz定义中

这就是我所拥有的:

require("lubridate")

dayLightSavings = function(y = format(Sys.Date(), "%Y"), tz){
    startDate = paste0(y, '-01-01')
    endDate = paste0(y, '-12-31')
    d1 = seq(as.POSIXct(startDate, tz = tz),
        as.POSIXct(endDate, tz = tz), by = 'hour')
    range(d1[lubridate::dst(d1)])
}

标签: rposixct

解决方案


也许,我们需要循环

library(purrr)
map(c("America/New_York", "Europe/London"), ~ dayLightSavings(tz = .x))

推荐阅读