\documentclass[spanish,swedish,norsk,italian,danish,french,USenglish,english,australian,newzealand,naustrian,ngerman,a4paper,fleqn,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{babel}
%\usepackage[iso,cleanlook]{isodate}
\usepackage[iso,nocleanlook]{isodate}
%\usepackage{ngerman}
%\usepackage{bibgerm}
%\shortyearsign{'}
%\printyearoff
\printdayoff

\overfullrule1mm

\setlength{\parindent}{0mm}
\addtolength\textheight{10\baselineskip}
\addtolength\topmargin{-4\baselineskip}
\addtolength\textwidth{6mm}

\makeatletter
\newcommand{\example}[2][]{%
  \@ifundefined{l@#2}{%
    \section*{Language: #2}
    Not available since babel does not know this language.
  }{%
  \selectlanguage{#2}
%  \ifthenelse{\equal{#2}{american}}{\dateamerican}{}%
  \section*{Language: \languagename#1}
  \begin{tabular}{@{}lll}
    today&normal date format&``\origdate\today''\\
    &short original&``\shortorigdate\today''\\
    &isodate&``\isodate\today''\\
    &numdate&``\numdate\today''\\
    &shortdate&``\shortdate\today''\\
    &TeXdate&``\TeXdate\today''\\
    &Romandate&``\Romandate\today''\\
    &romandate&``\romandate\today''\\
    &shortRomandate&``\shortRomandate\today''\\
    &shortromandate&``\shortromandate\today''\\
    &back to normal&``\origdate\today''\\
    another day&normal date format&``\origdate\printdate{1972-1-9}''\\
    &short original&``\shortorigdate\printdate{9.1.1972}''\\
    &isodate&``\isodate\printdate{9.1.1972}''\\
    &numdate&``\numdate\printdate{1972-1-9}''\\
    &shortdate&``\shortdate\printdate{1972-1-9}''\\
    &TeXdate&``\TeXdate\printdate{1972-1-9}''\\
    &Romandate&``\Romandate\printdate{1972-1-9}''\\
    &romandate&``\romandate\printdate{1972-1-9}''\\
    &shortRomandate&``\shortRomandate\printdate{1972-1-9}''\\
    &shortromandate&``\shortromandate\printdate{1972-1-9}''\\
    &back to normal&``\origdate\printdate{9/1/1972}''\\
    range 1&normal date format&``\origdate\daterange{1972-1-30}{1972-1-31}''\\
    &short original&``\shortorigdate\daterange{1972-1-30}{1972-1-31}''\\
    &isodate&``\isodate\daterange{1972-1-30}{1972-1-31}''\\
    &numdate&``\numdate\daterange{1972-1-30}{1972-1-31}''\\
    &shortdate&``\shortdate\daterange{1972-1-30}{1972-1-31}''\\
    &TeXdate&``\TeXdate\daterange{1972-1-30}{1972-1-31}''\\
    &Romandate&``\Romandate\daterange{1972-1-30}{1972-1-31}''\\
    &back to normal&``\origdate\daterange{1972-1-30}{1972-1-31}''\\
    range 2&normal date format&``\origdate\daterange{1972-1-30}{1972-2-28}''\\
    &short original&``\shortorigdate\daterange{1972-1-30}{1972-2-28}''\\
    &isodate&``\isodate\daterange{1972-1-30}{1972-2-28}''\\
    &numdate&``\numdate\daterange{1972-1-30}{1972-2-28}''\\
    &shortdate&``\shortdate\daterange{1972-1-30}{1972-2-28}''\\
    &TeXdate&``\TeXdate\daterange{1972-1-30}{1972-2-28}''\\
    &Romandate&``\Romandate\daterange{1972-1-30}{1972-2-28}''\\
    &back to normal&``\origdate\daterange{1972-1-30}{1972-2-28}''\\
    range 3&normal date format&``\origdate\daterange{1972-1-30}{2001-1-28}''\\
    &short original&``\shortorigdate\daterange{1972-1-30}{2001-1-28}''\\
    &isodate&``\isodate\daterange{1972-1-30}{2001-1-28}''\\
    &numdate&``\numdate\daterange{1972-1-30}{2001-1-28}''\\
    &shortdate&``\shortdate\daterange{1972-1-30}{2001-1-28}''\\
    &TeXdate&``\TeXdate\daterange{1972-1-30}{2001-1-28}''\\
    &back to normal&``\origdate\daterange{1972-1-30}{2001-1-28}''\\
  \end{tabular}%

  {\origdate A very, very long line with a linebreak within the date to test
    linebreak: \printdate{2007-04-09}}

  {\isospacebeforeyear{\ }%
    \isospacebeforemonth{\ }%
    \isospacebeforeday{\ }%
    \origdate A very, very long line with a linebreak within the date to test
    linebreak: \printdate{2007-04-09}}

  }%
}
\makeatother
\begin{document}
%\today

%\monthyearsepgerman{\qquad}{\quad}%
%\daymonthsepgerman{\quad}%

\example{ngerman}
\example{naustrian}
\example{english}
\example{australian}
%\example{newzealand}
\example{USenglish}
%\example{american}
\example{french}
\example{danish}
\example{italian}
\example{norsk}
\example{swedish}
\example[ (not defined in isodate)]{spanish}

\selectlanguage{english}%

\section*{Changed ISO output}
\isodate
\printdate{24/12/2000}

\isodash{--}
\printdate{24/12/2000}

\isodash{$\cdot$}
\printdate{24.12.2000}

\section*{Strange date formats}
\numdate[Alph]
\printdate{4.1.2000}

\printdate{4.2.2000}

\printdate{1.11.2000}

\printdate{4.12.2000}

\numdate[Alph]%
\isotwodigitdayfalse
\printdate{4.1.2000}

\printdate{4.2.2000}

\printdate{1.11.2000}

\printdate{4.12.2000}

\def\tuetel#1{\textsuperscript{\twodigitarabic{#1}}}
\numdate[tuetel]
\printdate{4.1.2000}

\printdate{4.2.2000}

\printdate{1.11.2000}

\printdate{4.12.2000}

\selectlanguage{ngerman}
\numdate
\printdate{4.12.0002}

\shortdate
\printdate{4.12.0002}

\selectlanguage{spanish}
\printdate{4.12.0002}

\section*{Test input format}
\selectlanguage{english}%
\isodate\isodash{-}%

\dateinputformat{english}%
\printdate{31/12/2004} (english \verb|\printdate{31/12/2004}|)

\daterange{31/12/2004}{15/01/2005}

\dateinputformat{USenglish}%
\printdate{12/31/2004} (american \verb|\printdate{12/31/2004}|)

\daterange{12/31/2004}{01/15/2005}


\dateinputformat{tex}%
\printdate{2004/12/31} (tex \verb|\printdate{2004/12/31}|)

\daterange{2004/12/31}{2005/01/15}



\end{document}

