创建具有特殊格式的日期序列
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"
我想知道如何按以下格式创建日期序列:从 "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"