减去期间和夏令时的变化

问题描述 投票:0回答:1

我有数据

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天。由于夏令时更改,使用days(.)lubridate的结果是

> 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个回答
0
投票

减去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"
© www.soinside.com 2019 - 2024. All rights reserved.