Пакет 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 или подсказка ).