Несовместимое с дневным светом лечение с помощью lubridate в R
У меня проблемы с преобразованием часовых поясов при переходе на летнее время.
Данные, которые я получаю, поставляются с меткой времени по местному времени и столбцом для повторного часа в случае летнего времени. В идеале я бы все конвертировал в UTC, затем добавил бы один час к повторным. Тем не менее, преобразование не работает должным образом.
Time <- c(as.POSIXct('2017-11-05 01:00:00',tz = 'US/CENTRAL'),
as.POSIXct('2017-11-05 01:15:00',tz = 'US/CENTRAL'),
as.POSIXct('2017-11-05 01:30:00',tz = 'US/CENTRAL'),
as.POSIXct('2017-11-05 01:45:00',tz = 'US/CENTRAL'),
as.POSIXct('2017-11-05 01:00:00',tz = 'US/CENTRAL'),
as.POSIXct('2017-11-05 01:15:00',tz = 'US/CENTRAL'),
as.POSIXct('2017-11-05 01:30:00',tz = 'US/CENTRAL'),
as.POSIXct('2017-11-05 01:45:00',tz = 'US/CENTRAL'))
repeatedHourFlag <- c(F,F,F,F,T,T,T,T)
timeSeries <- data.table(Time,repeatedHourFlag)
timeSeries[, Time := lubridate::with_tz(Time,tzone = 'UTC')]
timeSeries
В частности, с 1:00 до 1:30 правильно конвертируется в 6-6:30, но 1:45 конвертируется в 7:45.