将日期时间列中的值转换为通用格式

Converting values in Date Time column into common format

我有一个数据框,其中有一列包含日期时间值,但这些值的格式不同。 我想将它们全部转换为“dd/mm/yyyy hh:mm”的格式。我尝试使用 lubridate 包来转换带有附加到日期的 AM/PM 文本的日期,但我无法这样做。

Date_Time
"11/01/2019 10:00"      
"11/01/2019 11:00"      
"11/01/2019 12:00"      
"11/01/2019 13:00"      
"11/01/2019 14:00"      
"11/01/2019 15:00"      
"11/01/2019 16:00"      
"10/03/2019 23:00"      
"10/04/2019 1:00"
"10/28/2019 05:00:00 AM"
"10/28/2019 10:00:00 PM"
"10/29/2019 02:00:00 AM"
"10/29/2019 03:00:00 AM"
"10/31/2019 01:00:00 PM"
"10/31/2019 02:00:00 PM"
"10/31/2019 10:00:00 PM"

您可以使用 lubridateparse_date_time :

lubridate::parse_date_time(df$Date_Time, c('mdYHM', 'mdYIMSp'))
#[1] "2019-11-01 10:00:00 UTC" "2019-11-01 11:00:00 UTC" "2019-11-01 12:00:00 UTC"
#[4] "2019-11-01 13:00:00 UTC" "2019-11-01 14:00:00 UTC" "2019-11-01 15:00:00 UTC"
#[7] "2019-11-01 16:00:00 UTC" "2019-10-03 23:00:00 UTC" "2019-10-04 01:00:00 UTC"
#[10]"2019-10-28 05:00:00 UTC" "2019-10-28 22:00:00 UTC" "2019-10-29 02:00:00 UTC"
#[13]"2019-10-29 03:00:00 UTC" "2019-10-31 13:00:00 UTC" "2019-10-31 14:00:00 UTC"
#[16]"2019-10-31 22:00:00 UTC"

数据

df <- structure(list(Date_Time = c("11/01/2019 10:00", "11/01/2019 11:00", 
"11/01/2019 12:00", "11/01/2019 13:00", "11/01/2019 14:00", "11/01/2019 15:00", 
"11/01/2019 16:00", "10/03/2019 23:00","10/04/2019 1:00","10/28/2019 05:00:00 AM",
"10/28/2019 10:00:00 PM", "10/29/2019 02:00:00 AM", "10/29/2019 03:00:00 AM", 
"10/31/2019 01:00:00 PM", "10/31/2019 02:00:00 PM", "10/31/2019 10:00:00 PM"
)), class = "data.frame", row.names = c(NA, -16L))