Table des matières

Comment insérer l'heure dans un document?

Cette page traite de la question de l'affichage de l'heure. Une page est par ailleurs dédiée à la question « Comment insérer la date dans un document ? ».

Avec l'extension “time”

L'extension time propose une fonction affichant l'heure en notation anglaise.

\documentclass{report}
  \usepackage{time}
 
\begin{document}
Il est \now.
\end{document}

\documentclass{report}
  \usepackage{time}
  \pagestyle{empty}
  
\begin{document}
Il est \now.
\end{document}

Avec l'extension “daytime”

L'extension daytime propose une solution similaire à la précédente avec une possibilité de variante sur l'écriture de l'heure:

\documentclass{report}
  \usepackage{daytime}
 
\begin{document}
Il est \daytime, \Daytime.
\end{document}

\documentclass{report}
  \usepackage{daytime}
  \pagestyle{empty}
  
\begin{document}
Il est \daytime, autrement dit \Daytime.
\end{document}

Avec l'extension “srctime”

L'extension scrtime (qui appartient à l'ensemble KOMA-Script) peut également restituer l'heure. Elle dispose d'une option d'extension (« 12h » ou « 24h », cette dernière étant la valeur par défaut) pour préciser comme l'afficher. La commande \thistime affiche l'heure ainsi souhaitée, sachant que :

\documentclass{report}
  \usepackage{scrtime}
 
\begin{document}
Il est \thistime[ heures ] minutes.
\end{document}

\documentclass{report}
  \usepackage{scrtime}
  \pagestyle{empty}
  
\begin{document}
Il est \thistime[ heures ] minutes.
\end{document}

Avec l'extension “datetime”

L'extension datetime définit trois fonctions pour les heures :

\documentclass{report}
  \usepackage[french]{babel}
  \usepackage{datetime}
 
\begin{document}
Il est \xxivtime, c'est-à-dire \ampmtime{}
ou \oclock.
\end{document}

\documentclass{report}
  \usepackage[french]{babel}
  \usepackage{datetime}
  \pagestyle{empty}

\begin{document}
Il est \xxivtime, c'est-à-dire \ampmtime{}
ou \oclock.
\end{document}

 

Si on reste en anglais, le résultat est plus satisfaisant:


\documentclass{report}
  \usepackage{datetime}
  \pagestyle{empty}

\begin{document}
Il est \xxivtime, c'est-à-dire \ampmtime{}
ou \oclock.
\end{document}

Avec l'extension “datetime2”

L'extension datetime2 est une réimplémentation complète de datetime, par la même auteure, Nicola Talbot. Cette réécriture a permis de proposer un ensemble de macros complètement développables, donc utilisables partout dans votre document, mais n'a pas conservé les noms des anciennes commandes.

Si vous souhaitez seulement l'heure courante, utilisez \DTMcurrenttime:

\documentclass{report}
  \usepackage[french]{babel}
  \usepackage{datetime2}
 
\begin{document}
Il est \DTMcurrenttime{}.
\end{document}

\documentclass{report}
  \usepackage[french]{babel}
  \usepackage{datetime2}
  \pagestyle{empty}

\begin{document}
Il est \DTMcurrenttime{}.
\end{document}

Sans extension

La primitive \time contient le nombre de minutes écoulées depuis minuit. Avec un peu de programmation, il est possible d'en tirer l'heure. Voici un exemple de code permettant cette conversion :

\documentclass{report}
\makeatletter
\def\timenow{\@tempcnta\time
  \@tempcntb\@tempcnta
  \divide\@tempcntb60
  \ifnum10>\@tempcntb0\fi\number\@tempcntb
  \multiply\@tempcntb60
  \advance\@tempcnta-\@tempcntb
  \string~:\ifnum10>\@tempcnta0\fi\number\@tempcnta}
\makeatother
 
\begin{document}
Il est \timenow.
\end{document}

\documentclass{report}
\makeatletter
\def\timenow{\@tempcnta\time
  \@tempcntb\@tempcnta
  \divide\@tempcntb60
  \ifnum10>\@tempcntb0\fi\number\@tempcntb
  \multiply\@tempcntb60
  \advance\@tempcnta-\@tempcntb
  \string:\ifnum10>\@tempcnta0\fi\number\@tempcnta}
\makeatother
\pagestyle{empty}
  
\begin{document}
Il est \timenow.
\end{document}

Source: Printing the time