Правильный формат для преобразования строки в объект даты и времени 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
если необходимо.