在日期和时间字符串中添加一天

Add a day to a date AND time string

我想将 R 中的日期和时间字符串提前一天,保持时间不变。

datetime<-"2015-07-20T16:33:59.158Z"

as.Date(datetime)+1
as.POSIXct(datetime)+24*60*60

library(lubridate)
as.POSIXct(datetime)+days(1)
as.POSIXct(datetime)+hours(24)

全部return任一

 "2015-07-21"
 "2015-07-21 BST"

当需要的是

"2015-07-21T16:33:59.158Z"

谢谢。

您可以进行以下操作:

library(lubridate)
datetime <- ymd_hms("2015-07-20T16:33:59.158Z")
datetime + 24*60*60
[1] "2015-07-21 16:33:59 UTC"

检查

的输出
as.POSIXct(datetime)
#[1] "2015-07-20"

它会截断时间部分。您需要为其指定正确的 format,因为它不是标准格式。

as.POSIXct(datetime, format = "%Y-%m-%dT%H:%M:%OS")
#[1] "2015-07-20 16:33:59

一旦你做到了,你就可以做到

as.POSIXct(datetime, format = "%Y-%m-%dT%H:%M:%OS") + 24*60*60
#[1] "2015-07-21 16:33:59"

我们可以使用anytime

library(anytime)
anytime(datetime) + 24 * 60 * 60
#[1] "2015-07-21 16:33:59 EDT"