The details might depend on the actual structure of your data, including whether it's already sorted by date as implied in your question, whether a date can appear more than once, and whether it's a leap year, but here's a contrived example:
library(tidyverse)
# Fake data
date = seq(as.Date("2018-01-01"), as.Date("2018-12-31"), "1 day") %>%
format("%b-%d")
set.seed(2)
dat = tibble(date, value=rnorm(365))
# Ordering
dat = dat %>%
mutate(order=c((365 - 30):365, 1:(365 - 31)),
day.order=1:365) %>%
arrange(order) %>%
mutate(date = factor(date, levels=unique(date))) %>%
select(-order) %>%
arrange(date)
dat
date value day.order
<fct> <dbl> <int>
1 Feb-01 0.319 32
2 Feb-02 1.08 33
3 Feb-03 -0.284 34
4 Feb-04 -0.777 35
5 Feb-05 -0.596 36
6 Feb-06 -1.73 37
7 Feb-07 -0.903 38
8 Feb-08 -0.559 39
9 Feb-09 -0.247 40
10 Feb-10 -0.384 41