Skip to content

Commit f1772fb

Browse files
committed
fixes timezone shennanigans for parse_date() on macos by converting to character before converting to date
1 parent f795940 commit f1772fb

File tree

3 files changed

+32
-31
lines changed

3 files changed

+32
-31
lines changed

R/parsers.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ parse_date <- function(x){
7272
return(x)
7373

7474
} else if (is_POSIXct(x)){
75-
return(as.Date(x))
75+
return(as.Date(as.character(x)))
7676

7777
} else if (!is.character(x) && !is_integerish(x)) {
7878
stop(

tests/testthat/test_BackupQueue.R

Lines changed: 0 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1061,36 +1061,6 @@ test_that("BackupQueueDateTime$push_backup() can push to different directory", {
10611061

10621062

10631063

1064-
test_that("parse_date works as expected", {
1065-
expect_equal(parse_date("2018-12-01"), as.Date("2018-12-01"))
1066-
expect_equal(parse_date("20181201"), as.Date("2018-12-01"))
1067-
expect_equal(parse_date("2018-02"), as.Date("2018-02-01"))
1068-
expect_equal(parse_date("201802"), as.Date("2018-02-01"))
1069-
expect_equal(parse_date("2018"), as.Date("2018-01-01"))
1070-
1071-
expect_equal(
1072-
parse_date(c("2018-12-02", "20181201", "2018")),
1073-
as.Date(c("2018-12-02", "2018-12-01", "2018-01-01"))
1074-
)
1075-
1076-
d <- as.Date("2019-04-12")
1077-
dt <- as.POSIXct("2019-04-12 23:59:01")
1078-
expect_identical(parse_date(d), d)
1079-
expect_identical(parse_date(dt), d)
1080-
1081-
expect_equal(parse_date("2019-04-12"), d)
1082-
expect_equal(parse_date("2019-04"), as.Date("2019-04-01"))
1083-
expect_equal(parse_date("2019"), as.Date("2019-01-01"))
1084-
1085-
expect_equal(parse_date("20190412"), d)
1086-
expect_equal(parse_date("201904"), as.Date("2019-04-01"))
1087-
expect_equal(parse_date("2019"), as.Date("2019-01-01"))
1088-
1089-
})
1090-
1091-
1092-
1093-
10941064
test_that("BackupQueueDate: $should_rotate", {
10951065
tf <- file.path(td, "test.log")
10961066
saveRDS(iris, tf)

tests/testthat/test_parsers.R

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,34 @@ test_that("parse_datetime works as expected", {
8585
as.POSIXct(c(d1, d2, d3))
8686
)
8787
})
88+
89+
90+
91+
92+
test_that("parse_date works as expected", {
93+
expect_equal(parse_date("2018-12-01"), as.Date("2018-12-01"))
94+
expect_equal(parse_date("20181201"), as.Date("2018-12-01"))
95+
expect_equal(parse_date("2018-02"), as.Date("2018-02-01"))
96+
expect_equal(parse_date("201802"), as.Date("2018-02-01"))
97+
expect_equal(parse_date("2018"), as.Date("2018-01-01"))
98+
99+
expect_equal(
100+
parse_date(c("2018-12-02", "20181201", "2018")),
101+
as.Date(c("2018-12-02", "2018-12-01", "2018-01-01"))
102+
)
103+
104+
d <- as.Date("2019-04-12")
105+
dt <- as.POSIXct("2019-04-12 23:59:01")
106+
expect_identical(parse_date(d), d)
107+
expect_identical(parse_date(dt), d)
108+
expect_identical(parse_date(dt), d)
109+
110+
expect_equal(parse_date("2019-04-12"), d)
111+
expect_equal(parse_date("2019-04"), as.Date("2019-04-01"))
112+
expect_equal(parse_date("2019"), as.Date("2019-01-01"))
113+
114+
expect_equal(parse_date("20190412"), d)
115+
expect_equal(parse_date("201904"), as.Date("2019-04-01"))
116+
expect_equal(parse_date("2019"), as.Date("2019-01-01"))
117+
118+
})

0 commit comments

Comments
 (0)