%\iffalse
% datetime2-it-fulltext.dtx generated using makedtx version 0.94b (c) Nicola Talbot
% Command line args:
%   -author "Claudio Duchi"
%   -date "2015"
%   -v "1"
%   -doc "manual.tex"
%   -src "datetime2-it-fulltext\.sty=>datetime2-it-fulltext.sty"
%   -src "datetime2-it-fulltext-utf8\.ldf=>datetime2-it-fulltext-utf8.ldf"
%   -src "datetime2-it-fulltext-ascii\.ldf=>datetime2-it-fulltext-ascii.ldf"
%   datetime2-it-fulltext
% Created on 2015/8/9 13:47
%\fi
%\iffalse
%<*package>
%% \CharacterTable
%%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
%%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
%%   Digits        \0\1\2\3\4\5\6\7\8\9
%%   Exclamation   \!     Double quote  \"     Hash (number) \#
%%   Dollar        \$     Percent       \%     Ampersand     \&
%%   Acute accent  \'     Left paren    \(     Right paren   \)
%%   Asterisk      \*     Plus          \+     Comma         \,
%%   Minus         \-     Point         \.     Solidus       \/
%%   Colon         \:     Semicolon     \;     Less than     \<
%%   Equals        \=     Greater than  \>     Question mark \?
%%   Commercial at \@     Left bracket  \[     Backslash     \\
%%   Right bracket \]     Circumflex    \^     Underscore    \_
%%   Grave accent  \`     Left brace    \{     Vertical bar  \|
%%   Right brace   \}     Tilde         \~}
%</package>
%\fi
% \iffalse
% Doc-Source file to use with LaTeX2e
% Copyright (C) 2015 Claudio Duchi, all rights reserved.
% \fi
% \iffalse
%<*driver>
\documentclass{ltxdoc}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\CheckSum{1513}
\begin{document}
\DocInput{datetime2-it-fulltext.dtx}
\end{document}
%</driver>
%\fi
%\title{datetime2-it-fulltext}
%\author{Claudio Duchi email: claduc at libero dot it}
%\maketitle
%This packet defines five styles for datetime2, it-fulltext, it-fulltext-twenty-four, it-fulltext-second, it-fulltext-twenty-four-second, it-fulltext-semplice. The necessary packets are datetime2, itnumpar, ifxetex and ifluatex. The packet is the translation and adaptation of datetime2-en-fulltext.
%
%
%\begin{verbatim}
%\DTMsetdatestyle{it-fulltext}
%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00}
%\DTMuse{mydate}
%\end{verbatim}
%mercoledì primo aprile, duemilaquindici cinque minuti dopo le otto del mattino CET
%
%\begin{verbatim}
%	\DTMsettimestyle{it-fulltext}
%	\DTMdisplaytime{0}{1}{1}.
%	\end{verbatim}
%0:01:01 un minuto dopo mezzanotte.
%\begin{verbatim}
%\DTMsetdatestyle{it-fulltext-twenty-four}
%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00}
%\DTMuse{mydate}
%\end{verbatim}
%mercoledì primo aprile, duemilaquindici 08:05:00 CET
%\begin{verbatim}
%\DTMsetdatestyle{it-fulltext-twenty-four}
%\DTMsettimestyle{it-fulltext-twenty-four}
%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00}
%\DTMuse{mydate}
%\end{verbatim}
%mercoledì primo aprile, duemilaquindici cinque minuti dopo le otto CET
%\begin{verbatim}
%\DTMsetdatestyle{it-fulltext-second}
%\DTMsettimestyle{it-fulltext-second}
%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00}
%\DTMuse{mydate}
%\end{verbatim}
%mercoledì primo aprile, duemilaquindici cinque minuti e zero secondi dopo le
%otto del mattino CET
%\begin{verbatim}
%\DTMsetdatestyle{it-fulltext-twenty-four-second}
%\DTMsettimestyle{it-fulltext-twenty-four-second}
%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00}
%\DTMuse{mydate}
%\end{verbatim}
%mercoledì primo aprile, duemilaquindici cinque minuti e zero secondi dopo le
%otto CET
%\begin{verbatim}
%\DTMsetdatestyle{it-fulltext-semplice}
%\DTMsettimestyle{it-fulltext-semplice}
%\DTMsavetimestamp{mydate}{2015-04-01T08:05:00+01:00}
%\DTMuse{mydate}
%\end{verbatim}
%mercoledì primo aprile, duemilaquindici ore otto cinque minuti e zero secondi
%CET
%
%
%\StopEventually{}
%\section{The Code}
%\iffalse
%    \begin{macrocode}
%<*datetime2-it-fulltext.sty>
%    \end{macrocode}
%\fi
%    \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}
%    \end{macrocode}
%    \begin{macrocode}
\ProvidesPackage{datetime2-it-fulltext}[2015/08/06 v1.6]
%    \end{macrocode}
%    \begin{macrocode}
\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{datetime2}}
\ProcessOptions
\RequirePackage{datetime2}
%    \end{macrocode}
%    \begin{macrocode}
\RequirePackage{itnumpar}
%    \end{macrocode}
%    \begin{macrocode}
\RequirePackage{ifxetex,ifluatex}
\ifxetex
\RequireDateTimeModule{it-fulltext-utf8}
\else
\ifluatex
\RequireDateTimeModule{it-fulltext-utf8}
\else
\RequireDateTimeModule{it-fulltext-ascii}
\fi
\fi
%    \end{macrocode}
%    \begin{macrocode}
\def\CurrentTrackedDialect{italian}
\RequireDateTimeModule{italian}
\undef\CurrentTrackedDialect
%    \end{macrocode}
%    \begin{macrocode}
\newcommand*\DTMitfulltextmonthyearsep{,\space}
\newcommand{\DTMitore}[1]{%
	\ifcase#1\DTMitalianmidnight\or\DTMoneatnightstring\else\printnumeroinparole{#1}\fi}%
\newcommand{\DTMitminuti}[1]{%
	\ifcase#1\DTMitzerominutsestring\or\DTMitoneminutestring%
	\else\printnumeroinparole{#1}\space\DTMitminutesstring\fi}%
\newcommand{\DTMitsecondi}[1]{%
	\ifcase#1\printnumeroinparole{#1}\space\DTMitsecondsstring%
	\or\DTMitonesecondstring\space\DTMitsecondstring%
	\else\printnumeroinparole{#1}\space\DTMitsecondsstring%
	\fi}%
%    \end{macrocode}
%    \begin{macrocode}
\DTMnewdatestyle{it-fulltext}{%
\renewcommand*\DTMdisplaydate[4]{%
\ifDTMshowdow
\ifnum##4>-1
\DTMitalianweekdayname{##4}\space\fi\fi%
\ifnum##3=1\DTMitthefirstoneofthemonth\space\DTMitalianmonthname{##2}%
\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\space%
\else\protect\printnumeroinparole{##3}\space\DTMitalianmonthname{##2}%
\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\fi}}%
\DTMsetdatestyle{it-fulltext}
\DTMnewtimestyle{it-fulltext}{%
\renewcommand\DTMdisplaytime[3]{%
\ifboolexpr
{test {\ifnumequal{##2}{0}} and
(test {\ifnumequal{##1}{0}}
or test {\ifnumequal{##1}{12}}
or test {\ifnumequal{##1}{24}})}%
{\ifnum##1=12\DTMitaliannoon\else\DTMitalianmidnight\fi}%
{\ifnum##2=0\ifboolexpr{ test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}}
{\DTMoneatnightstring\space\DTMitoclockstring}%
{\ifnum##1>12\protect\printnumeroinparole{\numexpr##1-12}\space\DTMitoclockstring
\else\protect\printnumeroinparole{##1}\space\DTMitoclockstring\fi}%
\else
\ifnum##2<31
\ifnum##2=15
\ifnum##1=1\DTMquarterpaststringTWO\else
\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}
{\DTMquarterpaststringONE}%
{\ifnum##1=13\DTMquarterpaststringTWO\else\DTMquarterpaststringTHREE\fi}%
\fi%
\else%
\ifnum##2=30%
\ifboolexpr{ test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}}
{\DTMhalfpaststringTWO}%
{\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}} or test {\ifnumcomp{##1}{=}{12}}}%
{\DTMhalfpaststringONE}%
{\DTMhalfpaststringTHREE}}%
\else%
\ifnum##2=1\DTMoneminutestring\else\protect\printnumeroinparole{##2}\space%
\fi%
\ifnum##2=1
\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}
{\DTMminutepaststringONE}%
{\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}} or test {\ifnumcomp{##1}{=}{1}}}
{\DTMminutepaststringTWO}%
{\DTMminutepaststringTHREE}}%
\else
\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}}
{\DTMminutespaststringONE}%THREE
{\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}} or test {\ifnumcomp{##1}{=}{1}}}
{\DTMminutespaststringTWO}%TWO
{\DTMminutespaststringTHREE}}\fi\fi\fi%
\ifnum##1>12
\ifnum##1=24\DTMitalianmidnight%
\else
\ifnum##1=13\DTMoneatnightstring\else\protect\printnumeroinparole{\numexpr##1-12}\fi%
\fi%
\else
\ifnum##1=0\DTMitalianmidnight%
\else
\ifnum##1=1\DTMoneatnightstring\else\ifnum##1=12\DTMitaliannoon\else\protect\printnumeroinparole{##1}\fi\fi
\fi%
\fi%
\else
\ifnum##2=45
\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}}
{\DTMquartertostringTWO}%
{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
{\DTMquartertostringONE}%
{\DTMquartertostringTHREE}}%
\else
\ifnum##2=59\DTMoneminutestring\else\protect\printnumeroinparole{\numexpr60-##2}\fi
\ifnum##2=59 
\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{12}}or test {\ifnumcomp{##1}{=}{24}}}
{\DTMminutetostringTWO}%
{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
{\DTMminutetostringONE\space}%
{\DTMminutetostringTHREE\space}}%
\else\space
\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}or test {\ifnumcomp{##1}{=}{12}}}%
{\DTMminutestostringTWO}%
{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
{\DTMminutestostringONE\space}%
{\DTMminutestostringTHREE\space}}\fi\fi%
\ifnum##1>12
\ifnum##1=24\DTMoneatnightstring%
\else
\ifnum##1=23\DTMitalianmidnight\else\protect\printnumeroinparole{\numexpr##1-11}\fi\fi%
\else
\ifnum##1=12\DTMoneatnightstring\space\DTMitafternoonstring%
\else
\ifnum##1=0\DTMoneatnightstring\space%
\else%
\ifnum##1=11\DTMitaliannoon\else\protect\printnumeroinparole{\numexpr##1+1}\fi\fi\fi\fi\fi\fi%
\ifnum##1>11
\ifnum##1=23
\ifnum##2<31\space\DTMitafternoonstring\fi%
\else
\ifnum##1=24
\ifnum##2>30\space\DTMitmorningstring\fi%
\else
\ifnum##1=12\space\else\space\DTMitafternoonstring\fi\fi\fi%
\else
\ifnum##1>0
\ifnum##1=11\else\space\DTMitmorningstring\fi%
\else
\ifnum##2>30\space\DTMitmorningstring\fi\fi\fi}}}%
%    \end{macrocode}
%    \begin{macrocode}
\DTMnewdatestyle{it-fulltext-twenty-four}{%
\renewcommand*\DTMdisplaydate[4]{%
	\ifDTMshowdow
	\ifnum##4>-1\DTMitalianweekdayname{##4}\space\fi\fi%
	\ifnum##3=1\DTMitthefirstoneofthemonth\space\DTMitalianmonthname{##2}%
	\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\space%
	\else\protect\printnumeroinparole{##3}\space\DTMitalianmonthname{##2}%
	\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\fi}}%
\DTMsetdatestyle{it-fulltext-twenty-four}
\DTMnewtimestyle{it-fulltext-twenty-four}{%
\renewcommand\DTMdisplaytime[3]{%
\ifboolexpr
{test {\ifnumequal{##2}{0}} and (test {\ifnumequal{##1}{0}}
or test {\ifnumequal{##1}{12}}
or test {\ifnumequal{##1}{24}}
)
}%
{%
\ifnum##1=12\DTMitaliannoon\else\DTMitalianmidnight
\fi
}%
{%
\ifnum##2=0\protect\printnumeroinparole{##1}\space\DTMitoclockstring%
\else
\ifnum##2<31
\ifnum##2=15
\ifnum##1=1\DTMquarterpaststringTWO\else
\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}
{\DTMquarterpaststringONE}%
{\DTMquarterpaststringTHREE}%
\fi%
\else
\ifnum##2=30
\ifnum##1=1\DTMhalfpaststringTWO%
\else%
\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}} or test {\ifnumcomp{##1}{=}{12}}}
{\DTMhalfpaststringONE}%
{\DTMhalfpaststringTHREE}%
\fi
\else
\ifnum##2=1\DTMoneminutestring\else\protect\printnumeroinparole{##2}\space
\fi
\ifnum##2=1
\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}
{\DTMminutepaststringONE}%one
{\ifnum##1=1\DTMminutepaststringTWO\else\DTMminutepaststringTHREE\fi}%
\else
\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}}
{\DTMminutespaststringONE}%THREE
{\ifnum##1=1\DTMminutespaststringTWO\else\DTMminutespaststringTHREE\fi}%
\fi%
\fi%
\fi%
\ifnum##1>12
\ifnum##1=24\DTMitalianmidnight\else\protect\printnumeroinparole{##1}%
\fi%
\else
\ifnum##1=0\DTMitalianmidnight\space%
\else
\ifnum##1=1\DTMoneatnightstring\else\ifnum##1=12\DTMitaliannoon\else\protect\printnumeroinparole{##1}\fi\fi%
\fi
\fi
\else
\ifnum##2=45%
\ifboolexpr{test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}}
{\DTMquartertostringTWO}%
{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
{\DTMquartertostringONE}%	
{\DTMquartertostringTHREE}%
}%
\else
\ifnum##2=59\DTMoneminutestring\else\protect\printnumeroinparole{\numexpr60-##2}\space\fi
\ifnum##2=59
\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}
{\DTMminutetostringTWO}%
{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
{\DTMminutetostringONE\space}%
{\DTMminutetostringTHREE\space}%
}%
\else
\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}
{\DTMminutestostringTWO}%
{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
{\DTMminutestostringONE\space}%
{\DTMminutestostringTHREE\space}%	
}%
\fi
\fi
\ifnum##1>12
\ifnum##1=24
\DTMoneatnightstring%
\else
\ifnum##1=23
\DTMitalianmidnight
\else
\protect\printnumeroinparole{##1}%
\fi
\fi
\else
\ifnum##1=12\protect\printnumeroinparole{\numexpr##1+1}
\else
\ifnum##1=0\DTMoneatnightstring%
\else
\ifnum##1=11\DTMitaliannoon\else\protect\printnumeroinparole{\numexpr##1+1}\fi
\fi%
\fi
\fi
\fi
\fi
}}}%
%    \end{macrocode}
%    \begin{macrocode}
\DTMnewdatestyle{it-fulltext-second}{%
	\renewcommand*\DTMdisplaydate[4]{%
		\ifDTMshowdow\ifnum##4>-1\DTMitalianweekdayname{##4}\space\fi\fi%
		\ifnum##3=1\DTMitthefirstoneofthemonth\space\DTMitalianmonthname{##2}%
		\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\space%
		\else\protect\printnumeroinparole{##3}\space\DTMitalianmonthname{##2}%
		\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\fi}}%
\DTMsetdatestyle{it-fulltext-second}
\DTMnewtimestyle{it-fulltext-second}{%
	\renewcommand\DTMdisplaytime[3]{%
		\ifboolexpr
		{test {\ifnumequal{##2}{0}} and
			(test {\ifnumequal{##1}{0}}
			or test {\ifnumequal{##1}{12}}
			or test {\ifnumequal{##1}{24}} )}%
		{\ifnum##1=12\DTMitaliannoon\space\DTMitsecondsep\space\DTMitminuti{##2}\DTMitsecondi{##3}
		\else\DTMitalianmidnight\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}\fi}%
		{\ifnum##2=0
			\ifboolexpr{ (test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}) and test {\ifnumcomp{##3}{=}{0}}}
			{\DTMoneatnightstring\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}}%
			{\ifnum##1>13\protect\printnumeroinparole{\numexpr##1-12}\space\DTMitsecondsep\DTMitminuti{##2}\DTMitsecondi{##3}\else
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}}
			{\DTMoneatnightstring\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}}
			{\printnumeroinparole{##1}\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}}\fi}%
			\else
			\ifnum##2<31
			\ifnum##2=15
			\ifnum##1=1\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO\else
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}
			{\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}%
			{\ifnum##1=13\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO \else\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE\fi}%
			\fi\else%
			\ifnum##2=30
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}}
			{\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO}%
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}} or test {\ifnumcomp{##1}{=}{12}}}
				{\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}%
				{\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}}%
			\else%
			\ifnum##2=1\DTMoneminutestring\else\protect\printnumeroinparole{##2}\space%
			\fi
			\ifnum##2=1
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}%
			{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}%one
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}} or test {\ifnumcomp{##1}{=}{1}}}
				{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO}%two
				{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}%three
			}%
			\else
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}} }
			{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}%
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}} or test {\ifnumcomp{##1}{=}{1}}}
				{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO}%TWO
				{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}}%
			\fi
			\fi%
			\fi%
			\ifnum##1>12
			\ifnum##1=24
			\DTMitalianmidnight
			\else
			\ifnum##1=13\DTMoneatnightstring\else\protect\printnumeroinparole{\numexpr##1-12}\fi%
			\fi%
			\else
			\ifnum##1=0
			\DTMitalianmidnight
			\else
			\ifnum##1=1\DTMoneatnightstring\else\ifnum##1=12\DTMitaliannoon\else\protect\printnumeroinparole{##1}\fi\fi\fi\fi%
			\else
			\ifnum##2=45
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}}
			{\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsep}%
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
				{\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}%
				{\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}}%
			\else
			\ifnum##2=59\DTMoneminutestring\else\protect\printnumeroinparole{\numexpr60-##2}\fi
			\ifnum##2=59 
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{12}}or test {\ifnumcomp{##1}{=}{24}}}
			{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsep}%
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
				{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}%
				{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}%
			}%
			\else\space
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}or test {\ifnumcomp{##1}{=}{12}}}%
			{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsep}%
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
				{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}%
				{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}}%
			\fi\fi%
			\ifnum##1>12
			\ifnum##1=24
			\DTMoneatnightstring%
			\else
			\ifnum##1=23\DTMitalianmidnight\else\protect\printnumeroinparole{\numexpr##1-11}%
			\fi
			\fi
			\else
			\ifnum##1=12\DTMoneatnightstring%\DTMitafternoonstring%
			\else
			\ifnum##1=0\DTMoneatnightstring%\ifnum##2=45\DTMoneatnightstring\else\DTMoneatnightstring\fi%
			\else%
			\ifnum##1=11\DTMitaliannoon\else\ifnum##2=45\protect\printnumeroinparole{\numexpr##1+1}
			\else\protect\printnumeroinparole{\numexpr##1+1}\fi\fi\fi\fi\fi\fi\fi%
			\ifnum##1>11
			\ifnum##1=23
			\ifnum##2<31
			\space\DTMitafternoonstring%
			\fi
			\else
			\ifnum##1=24
			\ifnum##2>30
			\space\DTMitmorningstring%
			\fi
			\else
			\ifnum##1=12\space\else\space\DTMitafternoonstring\fi
			\fi
			\fi
			\else
			\ifnum##1>0
			\ifnum##1=11\else\space\DTMitmorningstring\fi
			\else
			\ifnum##2>30
			\space\DTMitmorningstring
			\fi
			\fi
			\fi
		}}}%
%    \end{macrocode}
%    \begin{macrocode}
\DTMnewdatestyle{it-fulltext-twenty-four-second}{%
	\renewcommand*\DTMdisplaydate[4]{%
		\ifnum##4>-1
		\DTMitalianweekdayname{##4}\space%
		\fi
		\ifnum##3=1\DTMitthefirstoneofthemonth\space\DTMitalianmonthname{##2}%
		\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\space%
		\else\protect\printnumeroinparole{##3}\space\DTMitalianmonthname{##2}%
		\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\fi%
	}}%
\DTMsetdatestyle{it-fulltext-twenty-four-second}
\DTMnewtimestyle{it-fulltext-twenty-four-second}{%
	\renewcommand\DTMdisplaytime[3]{%
		\ifboolexpr
		{test {\ifnumequal{##2}{0}} and
			(test {\ifnumequal{##1}{0}}
			or test {\ifnumequal{##1}{12}}
			or test {\ifnumequal{##1}{24}}
			)}%
{%
\ifnum##1=12\DTMitaliannoon\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}
\else\DTMitalianmidnight\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}%
			\fi}%
		{%
			\ifnum##2=0\ifboolexpr{ (test {\ifnumcomp{##1}{=}{1}}) and test {\ifnumcomp{##3}{=}{0}}}
			{\DTMoneatnightstring\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}}%
			{\ifnum##1>13\protect\printnumeroinparole{##1}\space\DTMitminuti{##2}\space\DTMitsecondsep \DTMitsecondi{##3}\else
				\ifnum##1=1\protect\DTMoneatnightstring\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}
				\else\printnumeroinparole{##1}\space\DTMitminuti{##2}\DTMitsecondsep\DTMitsecondi{##3}\fi\fi}%
			\else
			\ifnum##2<31
			\ifnum##2=15
			\ifnum##1=1\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTWO\else
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}
			{\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}%
			{\ifnum##1=13\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE
			\else\DTMquarterpaststringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE\fi}%
			\fi%
			\else%
			\ifnum##2=30
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{1}} or test {\ifnumcomp{##1}{=}{13}}}
			{\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}%
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}} or test {\ifnumcomp{##1}{=}{12}}}
				{\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}%
				{\DTMhalfstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}%
			}%
			\else%
			\ifnum##2=1\DTMoneminutestring\else\protect\printnumeroinparole{##2}\space%
			\fi
			\ifnum##2=1
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}
			{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}%one
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}} or test {\ifnumcomp{##1}{=}{1}}}
				{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}%two
				{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}%three
			}%
			\else
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{12}} or test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}} }
			{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringONE\space}%
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{13}}}
				{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}%TWO
				{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitpoststringTHREE}}%
			\fi%
			\fi%
			\fi%
			\ifnum##1>12
			\ifnum##1=24
			\DTMitalianmidnight
			\else
			\protect\printnumeroinparole{##1}%\fi%
			\fi%
			\else
			\ifnum##1=0
			\DTMitalianmidnight
			\else
			\ifnum##1=1\DTMoneatnightstring\else\ifnum##1=12\DTMitaliannoon
			\else\protect\printnumeroinparole{##1}\fi\fi%
			\fi
			\fi
			\else
			\ifnum##2=45
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}}or test {\ifnumcomp{##1}{=}{24}}}
			{\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsep}%
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
				{\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}%
				{\DTMquartertostringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}%
			}%
			\else
			\ifnum##2=59\DTMoneminutestring\else\protect\printnumeroinparole{\numexpr60-##2}\fi
			\ifnum##2=59 
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}
			{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsep}%
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
				{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}%
				{\DTMminutetostringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}%
			}%
			\else\space
			\ifboolexpr{ test {\ifnumcomp{##1}{=}{0}} or test {\ifnumcomp{##1}{=}{24}}}%
			{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsep}%
			{\ifboolexpr{ test {\ifnumcomp{##1}{=}{11}} or test {\ifnumcomp{##1}{=}{23}}}
				{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsecondsepTWO\space}%
				{\DTMminutesstringZERO\DTMitsecondi{##3}\space\DTMitsepTWO\space}%	
			}%
			\fi
			\fi
			\ifnum##1>12
			\ifnum##1=24
			\DTMoneatnightstring%
			\else
			\ifnum##1=23\DTMitalianmidnight\else\protect\printnumeroinparole{##1}%
			\fi
			\fi
			\else
			\ifnum##1=0\ifnum##2=45\DTMoneatnightstring\else\DTMoneatnightstring\fi%
			\else%
			\ifnum##1=11\DTMitaliannoon\else
			\ifnum##2=45\protect\printnumeroinparole{\numexpr##1+1}
			\else\protect\printnumeroinparole{\numexpr##1+1}\fi\fi
			\fi%
			\fi
			\fi
			\fi
		}%
	}%
}%
%    \end{macrocode}
%    \begin{macrocode}
\DTMnewdatestyle{it-fulltext-semplice}{%
	\renewcommand*\DTMdisplaydate[4]{%
	\ifnum##4>-1\DTMitalianweekdayname{##4}\space\fi%
	\ifnum##3=1\DTMitthefirstoneofthemonth\space\DTMitalianmonthname{##2}%
		\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\space%
		\else\protect\printnumeroinparole{##3}\space\DTMitalianmonthname{##2}%
		\DTMitfulltextmonthyearsep\protect\printnumeroinparole{##1}\fi%
	}%
}%
%    \end{macrocode}
%    \begin{macrocode}
\DTMsetdatestyle{it-fulltext-semplice} 
\DTMnewtimestyle{it-fulltext-semplice}{%
	\renewcommand\DTMdisplaytime[3]{%
		\ifboolexpr
		{test {\ifnumequal{##1}{0}}
			or test {\ifnumequal{##1}{12}}
			or test {\ifnumequal{##1}{24}}}%
		{\ifboolexpr
				{test {\ifnumequal{##1}{0}}%
				or test {\ifnumequal{##1}{24}}}%
				{\DTMitalianmidnight\space\DTMitminuti{##2}\space\DTMitsecondsep\DTMitsecondi{##3}}%
				{\DTMitaliannoon\space\DTMitminuti{##2}\space\DTMitsecondsep\DTMitsecondi{##3}}}%
		{ore\space\DTMitore{##1}\space\DTMitminuti{##2}\space\DTMitsecondsep\DTMitsecondi{##3}}%
}%
}%
%    \end{macrocode}%\iffalse
%    \begin{macrocode}
%</datetime2-it-fulltext.sty>
%    \end{macrocode}
%\fi
%\iffalse
%    \begin{macrocode}
%<*datetime2-it-fulltext-utf8.ldf>
%    \end{macrocode}
%\fi
%    \begin{macrocode}
\ProvidesDateTimeModule{it-fulltext-utf8}[2015/05/10 v1.2]
%    \end{macrocode}
%    \begin{macrocode}
\newcommand*{\DTMitsecondstring}{secondo}
\newcommand*{\DTMitsecondsstring}{secondi}
\newcommand*{\DTMitminutesstring}{minuti}
\newcommand*{\DTMitsecondsep}{e\space}
\newcommand*{\DTMitminutessep}{,\space}
\newcommand*{\DTMitsecondsepTWO}{a}
\newcommand*{\DTMitsep}{all‘}
\newcommand*{\DTMitsepTWO}{alle}
\newcommand*{\DTMitonesecondstring}{un}
\newcommand*{\DTMitpoststringONE}{dopo}
\newcommand*{\DTMitpoststringTWO}{dopo l‘}
\newcommand*{\DTMitpoststringTHREE}{dopo le\space}
\newcommand*{\DTMitoneminutestring}{un minuto\space}
\newcommand*{\DTMitzerominutsestring}{zero minuti\space}

\newcommand*{\DTMitoclockstring}{in punto}
\newcommand*{\DTMoneminutestring}{un\space}
\newcommand*{\DTMoneatnightstring}{una}

\newcommand*{\DTMitthefirstoneofthemonth}{primo}

\newcommand*{\DTMquarterpaststringZERO}{quindici minuti e\space}
\newcommand*{\DTMquarterpaststringONE}{quindici minuti dopo\space}
\newcommand*{\DTMquarterpaststringTWO}{quindici minuti dopo l‘}
\newcommand*{\DTMquarterpaststringTHREE}{quindici minuti dopo le\space}

\newcommand*{\DTMminutepaststringONE}{minuto dopo\space}
\newcommand*{\DTMminutepaststringTWO}{minuto dopo l‘}
\newcommand*{\DTMminutepaststringTHREE}{minuto dopo le\space}

\newcommand*{\DTMminutespaststringONE}{minuti dopo\space}
\newcommand*{\DTMminutespaststringTWO}{minuti dopo l‘}
\newcommand*{\DTMminutespaststringTHREE}{minuti dopo le\space}

\newcommand*{\DTMhalfstringZERO}{trenta minuti e\space}
\newcommand*{\DTMhalfpaststringONE}{trenta minuti dopo\space}
\newcommand*{\DTMhalfpaststringTWO}{trenta minuti dopo l‘}
\newcommand*{\DTMhalfpaststringTHREE}{trenta minuti dopo le\space}

\newcommand*{\DTMquartertostringZERO}{un quarto e\space}
\newcommand*{\DTMquartertostringONE}{un quarto a\space}
\newcommand*{\DTMquartertostringTWO}{un quarto all‘}
\newcommand*{\DTMquartertostringTHREE}{un quarto alle\space}

\newcommand*{\DTMminutetostringZERO}{minuto e\space}
\newcommand*{\DTMminutetostringONE}{minuto a}
\newcommand*{\DTMminutetostringTWO}{minuto all‘}
\newcommand*{\DTMminutetostringTHREE}{minuto alle}

\newcommand*{\DTMminutesstringZERO}{minuti e\space}
\newcommand*{\DTMminutestostringONE}{minuti a}
\newcommand*{\DTMminutestostringTWO}{minuti all‘}
\newcommand*{\DTMminutestostringTHREE}{minuti alle}


\newcommand*{\DTMitmorningstring}{del mattino}
\newcommand*{\DTMitafternoonstring}{del pomeriggio}
%    \end{macrocode}
%\iffalse
%    \begin{macrocode}
%</datetime2-it-fulltext-utf8.ldf>
%    \end{macrocode}
%\fi
%\iffalse
%    \begin{macrocode}
%<*datetime2-it-fulltext-ascii.ldf>
%    \end{macrocode}
%\fi
%    \begin{macrocode}
\ProvidesDateTimeModule{it-fulltext-ascii}[2015/04/10 v1.1]
%    \end{macrocode}
%    \begin{macrocode}
\newcommand*{\DTMitsecondstring}{secondo}
\newcommand*{\DTMitsecondsstring}{secondi}
\newcommand*{\DTMitminutesstring}{minuti}
\newcommand*{\DTMitsecondsep}{e\space}
\newcommand*{\DTMitminutessep}{,\space}
\newcommand*{\DTMitsecondsepTWO}{a}
\newcommand*{\DTMitsep}{all\protect‘}
\newcommand*{\DTMitsepTWO}{alle}
\newcommand*{\DTMitonesecondstring}{un}
\newcommand*{\DTMitpoststringONE}{dopo}
\newcommand*{\DTMitpoststringTWO}{dopo l\protect‘}
\newcommand*{\DTMitpoststringTHREE}{dopo le\space}
\newcommand*{\DTMitoneminutestring}{un minuto\space}
\newcommand*{\DTMitzerominutsestring}{zero minuti\space}

\newcommand*{\DTMitoclockstring}{in punto}
\newcommand*{\DTMoneminutestring}{un\space}
\newcommand*{\DTMoneatnightstring}{una}

\newcommand*{\DTMitthefirstoneofthemonth}{primo}

\newcommand*{\DTMquarterpaststringZERO}{quindici minuti e\space}
\newcommand*{\DTMquarterpaststringONE}{quindici minuti dopo\space}
\newcommand*{\DTMquarterpaststringTWO}{quindici minuti dopo l\protect‘}
\newcommand*{\DTMquarterpaststringTHREE}{quindici minuti dopo le\space}

\newcommand*{\DTMminutepaststringONE}{minuto dopo\space}
\newcommand*{\DTMminutepaststringTWO}{minuto dopo l\protect‘}
\newcommand*{\DTMminutepaststringTHREE}{minuto dopo le\space}

\newcommand*{\DTMminutespaststringONE}{minuti dopo\space}
\newcommand*{\DTMminutespaststringTWO}{minuti dopo l\protect‘}
\newcommand*{\DTMminutespaststringTHREE}{minuti dopo le\space}

\newcommand*{\DTMhalfstringZERO}{trenta minuti e\space}
\newcommand*{\DTMhalfpaststringONE}{trenta minuti dopo\space}
\newcommand*{\DTMhalfpaststringTWO}{trenta minuti dopo l\protect‘}
\newcommand*{\DTMhalfpaststringTHREE}{trenta minuti dopo le\space}

\newcommand*{\DTMquartertostringZERO}{un quarto e\space}
\newcommand*{\DTMquartertostringONE}{un quarto a\space}
\newcommand*{\DTMquartertostringTWO}{un quarto all\protect‘}
\newcommand*{\DTMquartertostringTHREE}{un quarto alle\space}

\newcommand*{\DTMminutetostringZERO}{minuto e\space}
\newcommand*{\DTMminutetostringONE}{minuto a}
\newcommand*{\DTMminutetostringTWO}{minuto all\protect‘}
\newcommand*{\DTMminutetostringTHREE}{minuto alle}

\newcommand*{\DTMminutesstringZERO}{minuti e\space}
\newcommand*{\DTMminutestostringONE}{minuti a}
\newcommand*{\DTMminutestostringTWO}{minuti all\protect‘}
\newcommand*{\DTMminutestostringTHREE}{minuti alle}


\newcommand*{\DTMitmorningstring}{del mattino}
\newcommand*{\DTMitafternoonstring}{del pomeriggio}
%    \end{macrocode}
%%
%\iffalse
%    \begin{macrocode}
%</datetime2-it-fulltext-ascii.ldf>
%    \end{macrocode}
%\fi
%\Finale
\endinput