First, I would not use a for loop at all. Here is an example of filling a column with dates using the seq.Date function.
DF <- data.frame(X = 1:100)
DF$Date <- seq.Date(from = as.Date("2020-03-07"), length.out = nrow(DF), by = 1)
summary(DF)
#> X Date
#> Min. : 1.00 Min. :2020-03-07
#> 1st Qu.: 25.75 1st Qu.:2020-03-31
#> Median : 50.50 Median :2020-04-25
#> Mean : 50.50 Mean :2020-04-25
#> 3rd Qu.: 75.25 3rd Qu.:2020-05-20
#> Max. :100.00 Max. :2020-06-14
Created on 2020-06-26 by the reprex package (v0.3.0)
The problem with your for loop is that it produces the same value every iteration and it does not assign the calculated value to the data frame; it merely calculates the value.