从R的timeDate中借出

时间:2017-10-24 18:00:03

标签: r datetime time lubridate

我想从2010年到2020年的所有周五活动。我目前正在使用[\r\n]+来度假,如复活节,耶稣受难日和周三。如下

timeDate

我还可以获得不随包裹而来的固定假期。例如

aw <- as.Date(AshWednesday(year = 2010:2020))
gf <- as.Date(GoodFriday(year = 2010:2020))

但是我每年都在努力争取周五的所有周五。

注意:Lent从星期三灰烬周日开始,持续40天。

如下所示,以下代码有效:

mg <- as.Date(AshWednesday(year = 2010:2020)-1) #Mardi Gras
cm <- as.Date(seq(ymd('2010-05-05'),ymd('2020-05-05'), by = '1 year')) #cinco de mayo

我将library(dplyr) library(purrr) library(tidyr) library(lubridate) tibble(aw) %>% mutate(aw_sunday = aw + lubridate::days(0)) %>% #Find the first Sunday after each Ash Wednesday mutate(extra_days = map(aw_sunday, function(x) x + lubridate::days(1:40))) %>% #Find all series of 40 days after each sunday unnest %>% mutate(week_day = lubridate::wday(extra_days, label = TRUE)) %>% #Find all the day names filter(week_day == 'Fri') %>% # Filter out the fridays pull(extra_days) 更改为days(4),因为我认为星期五实际上是在星期三之后立即开始,而不是跳过一周。我从维基百科下面的Ambrosian Rite&#34;中拉出了上面的注释。我想有区别。

3 个答案:

答案 0 :(得分:1)

这是一种方法:

location ~ /fuel {
  proxy_set_header  X-Real-IP  $remote_addr;
  proxy_set_header  Host $host;
  proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass        http://xxx.xxx.xxx.xxx:80/internal.api?action=fuel&apiKey=$arg_apiKey;
}

答案 1 :(得分:1)

如果您不想使用lubridate,可以使用基本seq.Date函数:

"Chybn\u00e9 heslo"

并且很好看:

gf <- as.Date(GoodFriday(year = 2010:2020))
lentFridays <- lapply(gf, function(x)seq.Date(x, length.out = 6, by = "-7 days"))

答案 2 :(得分:0)

如果Lent在星期三之后的星期日开始,那么随后的所有星期五都是在星期三之后的9日,16日,......,44天。您可以使用lubridate中的daysddays函数为各个日期添加持续时间。由于您有一个日期向量,我们可以将Lent Fridays存储在一个列表中。

library(lubridate)
lent_fridays <- lapply(aw, function(x) x + days(seq(9, 44, by =7)))
例如,对于2018年,四旬期的星期五是以下日期。

[[9]]
[1] "2018-02-23" "2018-03-02" "2018-03-09" "2018-03-16" "2018-03-23"
[6] "2018-03-30"