#r #datetime
#r #дата-время
Вопрос:
У меня есть несколько строк необычного формата, которые мне нужны для ввода в объекты datetime, и я не могу найти то, что мне нужно, в документации функции strptime. Примеры строк, которые мне нужно отформатировать, следующие:
4/16/2018 0:00:00
8/30/2019 14:35:00
11/15/2017 8:15:10
Я не могу найти ни одной спецификации, которая соответствовала бы этим типам строк, которые я мог бы использовать как format
в strptime
. Нужно ли мне сначала форматировать строки?
Ответ №1:
Мы можем использовать формат "%m/%d/%Y %H:%M:%S"
для преобразования в DateTime
as.POSIXct(str1, format = "%m/%d/%Y %H:%M:%S")
#[1] "2018-04-16 00:00:00 CDT" "2019-08-30 14:35:00 CDT" "2017-11-15 08:15:10 CST"
данные
str1 <- c("4/16/2018 0:00:00", "8/30/2019 14:35:00", "11/15/2017 8:15:10")
Ответ №2:
Я думаю, этого достаточно:
library(lubridate)
dates = c('4/16/2018 0:00:00', '8/30/2019 14:35:00', '11/15/2017 8:15:10')
dates = mdy_hms(dates)
dates
Вывод:
[1] "2018-04-16 00:00:00 UTC" "2019-08-30 14:35:00 UTC" "2017-11-15 08:15:10 UTC"
Ответ №3:
Кажется, это довольно распространенные строки для strptime. Или была другая проблема?
x <- "4/16/2018 0:00:01"
strptime(x ,"%m/%d/%Y %H:%M:%S")
Комментарии:
1. В моем
0
примере не было4
перед4/16/2018
.2. О, да, верно. Я автоматически добавил 0 xD, но все еще работает без 0.