[Tex/LaTex] German date format with Biblatex/Biber

biberbiblatexdate

ISO Date format with Biblatex/Biber? answers the same question for the ISO date format, but I can't find information on how to use the German format (dd.mm.yyyy). The documentation is of no help, as only year, short, long, terse, comp, ymd and edtf are covered and there is no information on how to change the separator from / to .. I am using american in babel and neither isodate nor datetime had an effect on the bibliography.

Best Answer

The date format depends on your language settings. This can be shown by the following example:

\documentclass[11pt]{article}
\usepackage[american,ngerman]{babel}
\usepackage[]{biblatex}
\addbibresource{biblatex-examples.bib}
\begin{document}
\selectlanguage{ngerman}
\section{ngerman}
\begin{refsection}

\cite{ctan}
\printbibliography
\end{refsection}

\selectlanguage{american}
\section{american}

\begin{refsection}
\cite{ctan}
\printbibliography
\end{refsection}
\end{document}

In your case you can use the default german definition of \mkbibdatelong/\mkbibdateshort to get your result:

\documentclass[11pt]{article}
\usepackage[american,ngerman]{babel}
\usepackage[]{biblatex}
\addbibresource{biblatex-examples.bib}

\DefineBibliographyExtras{american}{%
 %from german.lbx
  \protected\def\mkbibdatelong#1#2#3{%
    \iffieldundef{#3}
      {}
      {\mkbibordinal{\thefield{#3}}%
       \iffieldundef{#2}{}{\nobreakspace}}%
    \iffieldundef{#2}
      {}
      {\mkbibmonth{\thefield{#2}}%
       \iffieldundef{#1}{}{\space}}%
    \iffieldbibstring{#1}
      {\bibstring{\thefield{#1}}}
      {\dateeraprintpre{#1}\stripzeros{\thefield{#1}}}}%
  \protected\def\mkbibdateshort#1#2#3{%
    \iffieldundef{#3}
      {}
      {\mkdayzeros{\thefield{#3}}\adddot
       \iffieldundef{#2}{}{\thinspace}}%
    \iffieldundef{#2}
      {}
      {\mkmonthzeros{\thefield{#2}}%
       \iffieldundef{#1}
     {}
     {\iffieldundef{#3}{/}{\adddot\thinspace}}}%
    \iffieldbibstring{#1}
      {\bibstring{\thefield{#1}}}
      {\dateeraprintpre{#1}\mkyearzeros{\thefield{#1}}}}%
}
\begin{document}
\selectlanguage{ngerman}
\section{ngerman}
\begin{refsection}

\cite{ctan}
\printbibliography
\end{refsection}

\selectlanguage{american}
\section{american}

\begin{refsection}
\cite{ctan}
\printbibliography
\end{refsection}
\end{document}

enter image description here