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 :

  • 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}

\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 :

  • \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}

\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

3_composition/texte/mots/inserer_l_heure_dans_un_document.txt · Dernière modification: 2021/04/18 11:52 par jejust
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0