вычесть периоды и изменения летнего времени - PullRequest
0 голосов
/ 09 февраля 2020

У меня есть данные

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"

, и мне интересно, есть ли способ вычитать дни, которые учитывают изменения летнего времени.

1 Ответ

0 голосов
/ 09 февраля 2020

Вычтите количество секунд за 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"
...