date function optimisation