如何在R中创建一系列日期

sjd*_*jdh 14 r date

从两个整数中,(1, 5)可以通过以下方式创建范围

1:5
Run Code Online (Sandbox Code Playgroud)

[1] 1 2 3 4 5

如果您给出两个约会,如何制作一系列日期 ("2014-09-04 JST", "2014-09-11 JST")

输出必须是

[1]("2014-09-04 JST","2014-09-05 JST","2014-09-06 JST","2014-09-07 JST","2014-09-08 JST")

jal*_*pic 24

这有帮助吗?

seq(as.Date("2014/09/04"), by = "day", length.out = 5)
# [1] "2014-09-04" "2014-09-05" "2014-09-06" "2014-09-07" "2014-09-08"
Run Code Online (Sandbox Code Playgroud)

编辑:添加关于时区的内容

这适用于我目前的时区

seq(c(ISOdate(2014,4,9)), by = "DSTday", length.out = 5) 
#[1] "2014-04-09 08:00:00 EDT" "2014-04-10 08:00:00 EDT" "2014-04-11 08:00:00 EDT" "2014-04-12 08:00:00 EDT"
#[5] "2014-04-13 08:00:00 EDT"
Run Code Online (Sandbox Code Playgroud)

EDIT2:

OlsonNames()  # I used this to find out what to write for the JST tz - it's "Japan"

x <- as.POSIXct("2014-09-04 23:59:59", tz="Japan")
format(seq(x, by="day", length.out=5), "%Y-%m-%d %Z")

# [1] "2014-09-04 JST" "2014-09-05 JST" "2014-09-06 JST" "2014-09-07 JST" "2014-09-08 JST"
Run Code Online (Sandbox Code Playgroud)


hvo*_*ier 13

要仅使用开始日期和结束日期获取日期序列(天,周,...),您可以使用:

seq(as.Date("2014/1/1"), as.Date("2014/1/10"), "days”)

[1] "2014-01-01" "2014-01-02" "2014-01-03" "2014-01-04" "2014-01-05" "2014-01-06" "2014-01-07"
[8] "2014-01-08" "2014-01-09" "2014-01-10”
Run Code Online (Sandbox Code Playgroud)

  • seq(as.Date("2014/1/1"), as.Date("2014/1/10"),by="day") (2认同)