time<- as.POSIXct( db$times, format="%H:%M")
time <- as.Date(time_booked)-1 #Change day to previous day
time <-as.POSIXct(time,format="%H:%M") #Times for yesterday
我需要将日值更改为昨天(即第1天)。第一行格式化数据帧的时间(例如“2018-04-16 19:00:00 BST”)。而第二行可以改变一天(即16到15)没有问题,但我失去了时间。如果我运行第三行,它默认为“01:00:00”。
有没有办法在不丢失时间的情况下更改当天的价值?
答案 0 :(得分:0)
您可以从日期时间对象中扣除86400秒(24小时* 60分钟* 60秒)。
date <- as.POSIXct( "2018-04-16 19:00:00", format="%Y-%m-%d %H:%M")
date - 86400
[1] "2018-04-15 19:00:00 CEST"
或使用lubridate
library(lubridate)
date - ddays()
[1] "2018-04-15 19:00:00 CEST"