Правильный формат для преобразования строки в объект даты и времени R

Я сгенерировал систему формата даты и времени. Это выглядит примерно так "2017-04-12-02.29.25.000000". Я хочу преобразовать этот формат в стандартный, чтобы моя система могла это прочитать, а позже я могу преобразовать его в минуты. Кто-то, пожалуйста, помогите предоставить код на R.

1 ответ

Если вы не уверены в формате, guess_formats функция в lubridate довольно полезно:

w <- "2017-04-12-02.29.25.000000"
> lubridate::guess_formats(w, orders = 'YmdHMS')
              YOmdHMS                YmdHMS 
"%Y-%Om-%d-%H.%M.%OS"  "%Y-%m-%d-%H.%M.%OS"

orders это формат, который вы хотите, чтобы функция исследовала, и она выводит правильное представление. Если вторая запись в строке - это день, когда вы можете попробовать YdmHMS,

Разница в двух форматах в выходных данных в вышеприведенном примере основана на форматировании второй записи (всегда с начальным нулем или без него). Попытка первого формата дает:

> as.POSIXct(w, format = "%Y-%Om-%d-%H.%M.%OS")
[1] "2017-04-12 02:29:25 EDT"

в as.POSIXct позвоните вы можете указать часовой пояс tz если необходимо.

Другие вопросы по тегам