У меня есть столбец строк в следующем формате:
Wed, 6 Dec 2000 08:47:00 -0800 (PST)
Как я могу преобразовать это в формат даты с помощью lubridate или другого пакета? Я делал это раньше, но в конце не было -0800 (PST)
.
Спасибо.
У меня есть столбец строк в следующем формате:
Wed, 6 Dec 2000 08:47:00 -0800 (PST)
Как я могу преобразовать это в формат даты с помощью lubridate или другого пакета? Я делал это раньше, но в конце не было -0800 (PST)
.
Спасибо.
Я смог получить результат, используя strptime()
, даже не беспокоясь о названии часового пояса в конце:
> x - "Wed, 6 Dec 2000 08:47:00 -0800 (PST)"
> strptime(x, "%a, %d %b %Y %H:%M:%S %z")
[1] "2000-12-07 00:47:00"
Однако, если вы хотите удалить название часового пояса, вы можете использовать substr()
для этого:
> strptime(substr(x, 1, nchar(x)-6), "%a, %d %b %Y %H:%M:%S %z")
[1] "2000-12-07 00:47:00"
Мы также можем использовать parse_date_time
library(lubridate)
parse_date_time(x, "adbY HMS z", tz = "US/Pacific")
#[1] "2000-12-06 08:47:00 PST"
as.POSIXct(x, format="%a, %d %b %Y %H:%M:%S %z", tz="US/Pacific")
- см.?strptime
- Смещение со знаком «% z» в часах и минутах от UTC, так что «-0800» на 8 часов отстает от UTC. - person thelatemail   schedule 20.06.2016as.POSIXct
в моем тестировании намного быстрее, чемparse_date_time
- примерно в 3 раза быстрее. - person thelatemail   schedule 20.06.2016strptime
снова еще быстрее. Также см.OlsonNames()
- person thelatemail   schedule 20.06.2016