I want my calendar dates to be formatted like DD.MM.YYYY
As I am from germany I use \usepackage[ngerman]{babel}. babel breaks my redefinition of \today to use leading zeros and I don´t know why it is not possible for me to redefine it. If babel is commented out, it works fine. But defining a new command which produces the desired format is possible, see the MWE below. Can someone explain why it is not possible to redefine \today? And is it safe to redefine it or might I break some things up that rely on \today so that it would be wiser to \todayx?
MWE
\documentclass{scrbook}
\usepackage[ngerman]{babel}
\newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi}
\renewcommand{\today}{\leadingzero{\day}.\leadingzero{\month}.\the\year}
\newcommand{\todayx}{\leadingzero{\day}.\leadingzero{\month}.\the\year}
\begin{document}
\today \\
\todayx
\end{document}



\todayx? – Alenanno Aug 23 '16 at 15:47\todayxgives me what I want but it would be nicer to use\today(in my opinion). – Enno Aug 23 '16 at 15:50datetimeordatetime2package and your formatting issues will be solved, I think – Aug 23 '16 at 15:50datetime, but isdatetime2supposed to be the new version? – Alenanno Aug 23 '16 at 15:53