Mengonversi nilai di kolom Waktu Tanggal ke dalam format umum [duplikat]

Aug 18 2020

Saya memiliki kerangka data dengan kolom yang berisi nilai Waktu Tanggal, tetapi nilainya dalam format yang berbeda. Saya ingin menampilkan semuanya ke format "hh / bb / tttt jj: mm". Saya mencoba menggunakan paket lubridate untuk mengubah tanggal dengan teks AM / PM yang ditambahkan ke tanggal, tetapi saya tidak dapat melakukannya.

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"

Jawaban

1 RonakShah Aug 18 2020 at 18:56

Anda dapat menggunakan lubridate's parse_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"

data

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))