Remove seconds from time in R

后端 未结 5 1423
灰色年华
灰色年华 2020-12-03 23:00

I am trying to remove the seconds from a column of hours in POSIXct format:

#\"2016-04-02 10:33:45 COT\" \"2016-04-02 22:19:24 COT\"
#\"2016-04-09 17:47:13 C         


        
相关标签:
5条回答
  • 2020-12-03 23:32

    If you want to round 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 讨论(0)
  • 2020-12-03 23:46

    This is what you have:

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

    This is 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 讨论(0)
  • 2020-12-03 23:50

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

    What about using 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"
    
    0 讨论(0)
  • 2020-12-03 23:50

    Just use 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 讨论(0)
  • 2020-12-03 23:51

    you can use round.POSIXt:

    round(Sys.time(), units = "mins")
    #"2017-01-30 11:20:00 CET"
    
    0 讨论(0)
提交回复
热议问题