创建具有特殊格式的日期序列

Creating a sequence of dates with a special format

我想知道如何按以下格式创建日期序列:从 "Jul 23 10:20""Jul 30 10:25""1" 天?

我尝试了以下但没有成功:

seq.Date(as.Date("Jul 23 10:20"), as.Date("Jul 30 10:25"), length.out = 7)

要保留时间,您应该转换为实际的日期时间,从中很容易构建一个每次增加 1 天的序列。您可以根据需要使用 strftime 对其进行格式化。

strftime(seq(as.POSIXct("2020-07-23 10:20"), by = "1 day", length.out = 7), "%b %e %H:%M")
#> [1] "Jul 23 10:20" "Jul 24 10:20" "Jul 25 10:20" "Jul 26 10:20" "Jul 27 10:20"
#> [6] "Jul 28 10:20" "Jul 29 10:20"

我们可以通过转换为Date格式来获取日期

format(seq(as.POSIXct("Jul 23 10:20", format = "%b %d %H:%M" ),
      by = "1 day", length.out = 7), "%b %d %H:%M")
#[1] "Jul 23 10:20" "Jul 24 10:20" "Jul 25 10:20" "Jul 26 10:20" "Jul 27 10:20" "Jul 28 10:20" "Jul 29 10:20"

或者用lubridate

library(lubridate)
format(as.POSIXct("Jul 23 10:20", format = '%b %d %H:%M') + days(0:4), "%b %d %H:%M")
#[1] "Jul 23 10:20" "Jul 24 10:20" "Jul 25 10:20" "Jul 26 10:20" "Jul 27 10:20"