У меня есть доступ для чтения данных из базы данных с испорченным часовым поясом на их даты. По нескольким причинам это не может быть исправлено на стороне базы данных, и у меня нет даже прав на это.
Я создал обходной путь в R, который хорошо работает в том смысле, что мой код преобразовывает время в правильное время. Единственная проблема заключается в том, что это может быть немного медленным, если я загружаю много данных - например, строки в 1 миллион или больше, а код ничего особенного.
Данные в основном выглядят так, в них нет особого упоминания. Просто обычные данные хранятся в дБ и дате.
df <- read.table(text="
id date
1 2013-01-25 10:11:21
2 2013-02-21 13:10:00
", header=TRUE)
Мой код
fix_timezone <-
mutate(
fixed = as.POSIXct(as.character(date), tz = "UTC"),
date = as.POSIXct(format(as.POSIXct(fixed ), tz="Europe/Berlin"))
)
Если я использую только часовой пояс UTC, он загружает некоторые данные за +1 час. Но не все из-за смены летнего времени. Ребята, вы знаете, как улучшить скорость моего кода и, возможно, как сделать его красивее?