Comment insérer l’heure dans un document ?#

Cette page traite de la question de l’affichage de l’heure. Si vous cherchez l’affichage de la date, vous pouvez consulter la question « Comment insérer la date dans un document ? ».

Les réponses présentées ci-après distinguent des solutions proposant :

1.  Dans différents formats#

1.1.  Avec l’extension scrtime#

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 dans les minutes.

\documentclass[french]{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{scrtime}

\begin{document}
Il est \thistime[ heures ] minutes.
\end{document}

1.2.  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 commandes 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[french]{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{datetime2}

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

La documentation de datetime2 explique comment passer de datetime à datetime2.

Avertissement

L’extension datetime est classée comme obsolète. Ce qui suit est informatif.

Cette extension définissait 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’était clairement pas adapté. Il devait être réservé à la langue anglaise.

\documentclass[french]{article}
\usepackage[T1]{fontenc}
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{datetime}

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

1.3.  Avec les commandes de base#

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[french]{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page

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

2.  Dans le format sur 12 heures#

2.1.  Avec l’extension time#

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

\documentclass[french]{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{time}

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

2.2.  Avec l’extension daytime#

L’extension daytime propose une solution similaire avec une possibilité de variante sur l’écriture de l’heure.

L’exemple ici non compilable car cette extension n’est installée par défaut.

\documentclass[french]{article}
  \usepackage[T1]{fontenc}    % Encodage T1 (adapté au français)
  \usepackage{lmodern}        % Caractères plus lisibles
  \usepackage{babel}          % Réglages linguistiques (avec french)
  \pagestyle{empty}           % N'affiche pas de numéro de page
  \usepackage{daytime}

\begin{document}
Il est \daytime, autrement dit \Daytime.
\end{document}