【问题标题】:subtract periods and DST changes减去期间和 DST 变化
【发布时间】:2020-05-24 19:57:41
【问题描述】:

我有数据

library(data.table); library(lubridate)
dat <- data.table(t=as.POSIXct(c("2014-09-26 01:01:00","2014-09-26 02:01:00","2014-09-26 03:01:00"), tz="CET"))
> dat
                     t
1: 2014-09-26 01:01:00
2: 2014-09-26 02:01:00
3: 2014-09-26 03:01:00

我想减去 180 天。由于 DST 更改,lubridate 使用 days(.) 的结果是

> dat$t - days(180)
[1] "2014-03-30 01:01:00 CET"  NA                         "2014-03-30 03:01:00 CEST"

我想知道是否有一种方法可以减去导致 DST 变化的天数。

【问题讨论】:

    标签: r lubridate dst


    【解决方案1】:

    减去 180 天的秒数:

    dat$t - 180*60*24*60
    [1] "2014-03-30 00:01:00 CET"  "2014-03-30 01:01:00 CET"  "2014-03-30 03:01:00 CEST"
    

    【讨论】:

      猜你喜欢
      • 2012-06-30
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多