Home > Software engineering >  How to turn PM/AM time stamp am/pm
How to turn PM/AM time stamp am/pm

Time:12-16

I have a dataset with a column where date and time is stored. The data I have is:
03/17/2020 09:30:00 PM

I want to convert AM/PM to a 24hour format. My attempt was using this:

as.POSIXct(df$Date, format="%d/%m/%Y %I:%M:%S %p", tz="UTC")

When I run this with the whole dataset, the majority of dates turns into "NA". Why is this happening? I am really confused.

CodePudding user response:

Using lubridate:

x <- "03/17/2020 09:30:00 PM"

lubridate::mdy_hms(x)
[1] "2020-03-17 21:30:00 UTC"

Using as.Posixct: note that you need the month / day convention, not the day/month:

as.POSIXct(x, format="%m/%d/%Y %I:%M:%S %p", tz = "UTC")
[1] "2020-03-17 21:30:00 UTC"
  • Related