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}

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}

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 :

  • dans le cas de l’option « 12h », les mentions « am » et « pm » ne sont pas affichées ;

  • cette commande peut d’ailleurs prendre un argument optionnel pour préciser ce qui sépare les heures des minutes. Par défaut, ce sera « : » ;

  • sa version étoilée supprime le zéro parfois en trop des minutes.

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

Avec l’extension datetime

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

  • \xxivtime pour le format 24 heures ;

  • \ampmtime pour le format 12 heures ;

  • \oclock pour un format texte mais, malgré une prise en compte de babel (à placer avant l’appel à datetime), le résultat n’est clairement pas adapté. Il doit être réservé à la langue anglaise.

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

\begin{document}
Il est \xxivtime, c'est-à-dire \ampmtime{} ou \oclock.
\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}

Source: Printing the time