Как преобразовать метку времени, содержащую T и z (например, 2020-03-02T16: 30: 36Z), в дд / мм / ггг чч: мм: сс - PullRequest
1 голос
/ 02 мая 2020

Я проектирую панель управления Flex. Один из столбцов на моей информационной панели - это отметка времени, столбец которой содержит записи типа 2020-03-02T16: 30: 36Z. Я хочу преобразовать его в дд / мм / ггг чч: мм: сс. Пожалуйста помоги. Я попробовал это, но ничего не случилось. Фактически, записи были удалены с гибкой панели инструментов df $ time <- as.POSIXct (df $ time, format = "% Y-% m-% dT% H:% M:% OSZ", tz = "GMT «) </p>

Ответы [ 2 ]

1 голос
/ 02 мая 2020
Функция

libridate as_datetime также работает:

library(lubridate)
as_datetime("2020-03-02T16:30:36Z")
[1] "2020-03-02 16:30:36 UTC"
1 голос
/ 02 мая 2020

Пакет anytime может помочь:

R> library(anytime)
R> anytime("2020-03-02T16:30:36Z")
[1] "2020-03-02 16:30:36 CST"
R> utctime("2020-03-02T16:30:36Z", tz="UTC")
[1] "2020-03-02 16:30:36 UTC"
R> 

Во-первых, не требуя формат ввода, а скорее полагаясь на ряд возможных / вероятных форматов, которые он пытается эвристически. Во-вторых, предлагая также анализировать в UT C (и, как мы здесь делаем, наложить UT C для печатного формата / дисплея, который в противном случае является локальным временем). В-третьих, у нас также есть несколько форматов вывода, если они вам понадобятся:

R> pt <- utctime("2020-03-02T16:30:36Z", tz="UTC")
R> iso8601(pt)
[1] "2020-03-02T16:30:36"
R> rfc2822(pt)
[1] "Mon, 02 Mar 2020 16:30:36.000000 +0000"
R> rfc3339(pt)
[1] "2020-03-02T16:30:36.000000+0000"
R> yyyymmdd(pt)
[1] "20200302"
R> 

Базовая реализация на C ++, поэтому она также имеет тенденцию быть быстрее, чем эквивалентные альтернативы (для которых требуется формат spe c или подсказка ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...