Or a function that return new date, but it'll make things complicated.
It's the function caller that's responsible for that parameter with partial application / currying / closure.
It doesn't matter if you develop both, but if you use a library you'll need partial application to define default parameter.
Or a function that return new date, but it'll make things complicated.