Remove seconds from time in R

I am trying to remove seconds from a clock column in POSIXct format:

#"2016-04-02 10:33:45 COT" "2016-04-02 22:19:24 COT" #"2016-04-09 17:47:13 COT" "2016-04-13 16:56:23 COT" x <- structure(c(1459589625, 1459631964, 1460220433, 1460562983), class = c("POSIXct", "POSIXt"), tzone = "") 

I am trying to do this, but I do not see the results:

 y <- as.POSIXct(x, format = "%d/%m/%Y %H:%M") 
+5
source share
5 answers

No, you are giving as.POSIXct wrong format ...

How about using the format

 datetimes = as.POSIXct(c("2016-04-02 10:33:45 COT", "2016-04-02 22:19:24 COT" ,"2016-04-09 17:47:13 COT", "2016-04-13 16:56:23 COT") format(datetimes,format='%Y%m%d %H:%M') [1] "20160402 10:33" "20160402 22:19" "20160409 17:47" "20160413 16:56" 
+3
source

you can use round.POSIXt:

 round(Sys.time(), units = "mins") #"2017-01-30 11:20:00 CET" 
+1
source

If you want to round the date to minutes, you can do this:

  x <- as.POSIXlt(c("2016-04-02 10:33:45 COT")) res <-as.POSIXlt(floor(as.double(x) / 60) * 60, origin = '1970-01-01') res # "2016-04-02 10:33:00 BST" 
0
source

Just use the substring:

 datetimes <- c("2016-04-02 10:33:45 COT", "2016-04-02 22:19:24 COT" , "2016-04-09 17:47:13 COT", "2016-04-13 16:56:23 COT") as.POSIXct(substring(datetimes, 1, nchar(datetimes[1])-7)) #[1] "2016-04-02 10:33:00 IST" "2016-04-02 22:19:00 IST" # "2016-04-09 17:47:00 IST" "2016-04-13 16:56:00 IST" # without timezone format(substring(datetimes, 1, nchar(datetimes[1])-7), format='%Y-%m-%d %H:%M:%S', usetz = FALSE) #[1] "2016-04-02 10:33" "2016-04-02 22:19" "2016-04-09 17:47" "2016-04-13 16:56" 
0
source

This is what you have:

 x <- structure(c(1459589625, 1459631964, 1460220433, 1460562983), class = c("POSIXct", "POSIXt"), tzone = "") 

Is this what you want:

 x <- format(as.POSIXct(x), "%d-%m-%Y %H:%M") x [1] "02-04-2016 15:03" "03-04-2016 02:49" "09-04-2016 22:17" "13-04-2016 21:26" 
0
source

Source: https://habr.com/ru/post/1257413/


All Articles