diff --git a/r/NEWS.md b/r/NEWS.md index c167c48d5e8..5a5bb33f2ae 100644 --- a/r/NEWS.md +++ b/r/NEWS.md @@ -23,6 +23,7 @@ * `tz()` to extract/get timezone * `semester()` to extract/get semester * `dst()` to get daylight savings time indicator. + * `epiyear()` to get epiyear # arrow 7.0.0 diff --git a/r/R/expression.R b/r/R/expression.R index 224a46745e8..eb37950c34a 100644 --- a/r/R/expression.R +++ b/r/R/expression.R @@ -67,6 +67,7 @@ "isoweek" = "iso_week", "epiweek" = "us_week", "isoyear" = "iso_year", + "epiyear" = "us_year", "minute" = "minute", "quarter" = "quarter", # second is defined in dplyr-functions.R diff --git a/r/tests/testthat/test-dplyr-funcs-datetime.R b/r/tests/testthat/test-dplyr-funcs-datetime.R index 2cc76d36f7a..5ac64059e2b 100644 --- a/r/tests/testthat/test-dplyr-funcs-datetime.R +++ b/r/tests/testthat/test-dplyr-funcs-datetime.R @@ -330,6 +330,15 @@ test_that("extract isoyear from timestamp", { ) }) +test_that("extract epiyear from timestamp", { + compare_dplyr_binding( + .input %>% + mutate(x = epiyear(datetime)) %>% + collect(), + test_df + ) +}) + test_that("extract quarter from timestamp", { compare_dplyr_binding( .input %>% @@ -511,6 +520,15 @@ test_that("extract isoyear from date", { ) }) +test_that("extract epiyear from date", { + compare_dplyr_binding( + .input %>% + mutate(x = epiyear(date)) %>% + collect(), + test_df + ) +}) + test_that("extract quarter from date", { compare_dplyr_binding( .input %>%