Modifications
Module:Date/Documentation (voir la source)
Version du 22 septembre 2018 à 10:31
, 22 septembre 2018 à 10:31→Fonctions utilisables depuis un modèle : mise à jour suite à 115884171
== Utilisation ==
=== Fonctions utilisables depuis un modèle ===
* <code>modeleDate(frame)</code> – affiche une date avec les liens les plus pertinents (précisions [[#modeleDate( frame )|ci-dessous]]).
* <code>dateISO(frame)</code> – similaire à modeleInscriptionDate mais la date est au format aaaa-mm-jj. Paramètres nommés année, mois, jour. Pour respecter l'[[ISO 8601]] qui définit la date uniquement selon le [[calendrier grégorien]], cette fonction ne retourne rien pour les dates avant 1583.
* <code>dateInfobox(frame)</code> affiche une date avec les liens pertinents, gère correctement les paramètres contenant déjà un modèle date, ou avec du texte suivant la date (précisions [[#dateInfobox( frame )|ci-dessous]]). Prévu pour être utilisé dans les Infobox.
* <code>dateRepublicain(frame)</code> – affiche une date grégorienne au format républicain (sans liens). Paramètres 1=année, 2=mois, 3=jour.
* <code>modeleAge(frame)</code> - retourne l'âge (nombre d'années) depuis une date ou entre deux dates. Paramètres 1=année, 2=mois, 3=jour, 4=année, 5=mois, 6=jour.
* <code>erreurModuleData()</code> - retourne un message d'erreur si Module:Date/Data ne se charge pas correctement.
* <code>checkDataCat(frame)</code> - retourne une liste de pages annuelle et mensuelle pour faciliter les mises à jour de Date/Data. Paramètres 1=cat, mois=liste de mois si 'oui', alias = liste tous les alias si 'oui'
=== Fonctions utilisables depuis un autre module ===
* <code>valideMois( mois )</code> – retourne le nom français et le n° de <code>mois</code> (nom français, abrégé, anglais, ou nombre entre 1 et 12).
* <code>determinationMois( mois, frame )</code> - similaire à valideMois, mais le numéro du mois n'est pas limité (14 → février), et peut même être une expression si un objet frame est fourni ( 6 + 3 → septembre )
* <code>do_dayRank(arguments)</code> - Rang du jour dans l'année. Paramètre arguments = { année, mois, jour } ou { year = année, month = mois, day = jour }
* <code>isLeapYear(year)</code> - retourne true si year est une année bissextile dans le calendrier grégorien.
* <code>toRoman(number)</code> - transforme number en une chaine le représentant en « [[Numération romaine|chiffres romains]] ».
* <code>age( an, mn, jn, ac, mc, jc )</code> - similaire à modeleAge, mais les paramètres ne sont pas dans une table
* <code>julianDay( year, month, day, hour, minute, second )</code> - retourne le [[jour julien]] de la date transmise, suivant le [[Calendrier grégorien proleptique|calendrier grégorien astronomique]] (avec année 0)
* <code>julianDayJulian( year, month, day, hour, minute, second )</code> - retourne le [[jour julien]] d'une date du [[Calendrier julien proleptique|calendrier julien astronomique]] (avec année 0)
* <code>julianDayToGregorian( jd )</code> - retourne trois variables année, mois, jour représentant la date du [[Calendrier grégorien proleptique|calendrier grégorien astronomique]] correspondant à ce jour julien.
* <code>julianDayToJulian( jd )</code> - retourne trois variables année, mois, jour représentant la date du [[Calendrier julien proleptique|calendrier julien]] correspondant à ce jour julien.
* <code>julianToGregorian( year, month, day )</code> - transforme une date du calendrier julien en date du calendrier grégorien.
* <code>gregorianToJulian( year, month, day )</code> - transforme une date du calendrier grégorien en date du calendrier julien.
=== Modules externes dont ce module a besoin pour fonctionner ===
* <code>[[Module:Date/Data|Date/Data]]</code> - Base de donnée permettant de ne pas tester les pages que l'on sait existantes, ou n'existant pas.
* <code>[[Module:TableBuilder|TableBuilder]]</code> – Utilise <code>.insert</code> et <code>.concat</code> pour simplifier la syntaxe.
== modeleDate( frame ) ==
=== Paramètres ===
* <code>1</code> - jour ou vide - numérique, exception possible pour 1er ou {{1er}}.
* <code>2</code> - mois ou jour - numérique ou nom français ou anglais, éventuellement une abréviation courante.
* <code>3</code> - année ou mois - Un nombre sera considéré comme année. Les années sont considérées comme suivant le calendrier grégorien après le 14 octobre 1582 (sauf si julien = 'oui') et le calendrier julien avant, sans année 0.
* <code>4</code> - qualificatif ou année - texte correspondant à une page type « en photographie » pour « [[2008 en photographie]] »
* <code>5</code> - qualificatif
* <code>age</code> ou <code>âge</code> - non vide pour afficher l'âge (aucun âge n'est affiché pour les dates dans le futur)
* <code>julien</code> - 'oui' pour que la date soit considérée comme suivant le calendrier julien après le 14 octobre 1582. La date grégorienne avec liens est affichée suivie de la date julienne entre parenthèses.
* <code>avJC</code> - 'non' pour ne pas afficher 'av. J.-C.' après l'année si elle représente une année avant Jésus-Christ. Utile pour éviter les répétitions.
* <code>paramètres page</code> - Si un modèle {{m|date}} contient ce paramètre, les paramètres <code>julien</code>, <code>avJC</code> et <code>qualificatif</code> seront appliqués à toutes les dates de la page, sauf si une autre valeur de ces paramètres est indiquée. Le modèle date qui contient ce paramètre n'a pas besoin d'être affiché par le module Date, et peut être en commentaire dans la page. La page doit être purgée pour que ce paramètre soit pris en compte.
* <code>qualificatif</code> - qualificatif à appliquer sur toute la page. Ne fonctionne qu'en liaison avec le paramètre <code>paramètres page</code>
=== Fonctionnement ===
* le modèle cherche à afficher la date avec des liens vers les pages liées au qualificatif. S'il n'y a pas de page liée au qualificatif un lien sera fait vers la page générale.
* le premier paramètre est vide et le troisième correspond à un mois (texte uniquement), tous les paramètres sont considérés comme décalés et l'année ne sera pas affichée.
* s'il n'y a pas de page spécifique pour ce mois-année, le mois sera affiché lié avec le jour à l'éphéméride. Priorité est donnée à l'éphéméride du qualificatif sur le lien mois-année sans qualificatif.
* le modèle s'aide de la base de donnée [[Module:Date/Data|Date/Data]] pour éviter d'utiliser la fonction mw.title (équivalent du parser #ifexist:).
* cette base permet de remplacer le qualificatif par une catégorie plus générique. Si le qualificatif est « en tennis », l'éphéméride et la page mensuelle sera liée au qualificatif « en sport ».
* pour éviter de répéter le même qualificatif sur toutes les dates de la page, il suffit d'avoir quelque part dans le texte de la page, même en commentaire mais pas amené par un modèle, le texte <code><nowiki>{{Date|paramètres page= |qualificatif= mon qualificatif}}</nowiki></code>. Le modèle peut contenir d'autre paramètres. Seul le premier modèle date contenant ce paramètre sera pris en compte.
=== Fonction modeleDate ===
{|class="wikitable alternance" style="text-align:center;"
|-
! Motif testé !! Chaîne testée !! Module !! Fonctions coûteuses<br />modèle d'avant / module
|-
| date récente
|<nowiki>14|octobre|2001</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2001}}
| 1 / 0
|-
| date ancienne (1700 - 1943), jour =1
| <nowiki>1|octobre|1842</nowiki>
| {{#invoke:Date|modeleDate|1|octobre|1842}}
| 1 / 1
|-
| date très ancienne (<1700), jour = 1er
| <nowiki>1|janvier|537</nowiki>
| {{#invoke:Date|modeleDate|1er|janvier|537}}
| 1 / 0
|-
| qualificatif qui n'est pas dans la base
| <nowiki>14|octobre|2010|en animation asiatique</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2010|en animation asiatique}}
| 4 / 1
|-
| date ancienne, qualificatif qui n'est pas dans la base
| <nowiki>14|octobre|1842|en animation asiatique</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|1842|en animation asiatique}}
| 4 / 2
|-
| avec qualificatif
| <nowiki>14|Octobre|2001|en astronautique</nowiki>
| {{#invoke:Date|modeleDate|14|Octobre|2001|en astronautique}}
| 3 / 0
|-
| avec qualificatif avec éphémérides
| <nowiki>14|octobre|2005|dans les chemins de fer</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2005|dans les chemins de fer}}
| 4 / 0
|-
| pas de jour
| <nowiki>|octobre|2001</nowiki>
| {{#invoke:Date|modeleDate||octobre|2001}}
| 1 / 0
|-
| pas de jour avec qualificatif
| <nowiki>|Octobre|2001|en astronautique</nowiki>
| {{#invoke:Date|modeleDate||Octobre|2001|en astronautique}}
| 3 / 0
|-
| qualificatif avec page annuelle qui pourrait exister
| <nowiki>14|octobre|2006|en Égypte</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2006|en Égypte}}
| 4 / 1
|-
| qualificatif avec page mensuelle existante
| <nowiki>14|octobre|2008|en France</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2008|en France}}
| 3 / 0
|-
| qualificatif avec page mensuelle qui pourrait exister
| <nowiki>14|octobre|2012|en France</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2012|en France}}
| 4 / 1
|-
| qualificatif avec page annuelle et mensuelle qui pourrait exister
| <nowiki>14|octobre|2012|en économie</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2012|en économie}}
| 4 / 2
|-
| date ancienne avec qualificatif
| <nowiki>14|octobre|1845|en aéronautique</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|1845|en aéronautique}}
| 4 / 1
|-
| date négative
| <nowiki>13|octobre|-63</nowiki>
| {{#invoke:Date|modeleDate|13|octobre|-63}}
| 1 / 0
|-
| date av. J.-C. (orthographe de la page)
| <nowiki>1|octobre|63 av. J.-C.</nowiki>
| {{#invoke:Date|modeleDate|{{1er}}|octobre|63 av. J.-C.}}
| 1 / 0
|-
| date avJC (orthographe abrégée)
| <nowiki>13|octobre|63 avJC</nowiki>
| {{#invoke:Date|modeleDate|13|octobre|63 avJC}}
| 1 / 0
|-
| date négative, paramètre pour cacher av. J.-C.
| <nowiki>13|octobre|-63|avJC=non</nowiki>
| {{#invoke:Date|modeleDate|13|octobre|-63|avJC=non}}
| 1 / 0
|-
| année invalide
| <nowiki>14|octobre|2001 en sport</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2001 en sport}}
| 1 / 0
|-
| jour + mois avec majuscule
| <nowiki>14|Octobre|2001</nowiki>
| {{#invoke:Date|modeleDate|14|Octobre|2001}}
| 1 / 0
|-
| mois en abrégé
| <nowiki>14|oct.|2001</nowiki>
| {{#invoke:Date|modeleDate|14|oct.|2001}}
| 1 / 0
|-
| mois en chiffre
| <nowiki>14|10|2001</nowiki>
| {{#invoke:Date|modeleDate|14|10|2001}}
| 1 / 0
|-
| mois invalide
| <nowiki>14|otcobre|2001</nowiki>
| {{#invoke:Date|modeleDate|14|otcobre|2001}}
| 1 / 0
|-
| jour invalide
| <nowiki>jeudi 14|octobre|2001</nowiki>
| {{#invoke:Date|modeleDate|jeudi 14|octobre|2001}}
| 1 / 0
|-
| jour invalide (trop grand pour le mois)
| <nowiki>31|septembre|2001</nowiki>
| {{#invoke:Date|modeleDate|31|septembre|2001}}
| 1 / 0
|-
| uniquement l’année
| <nowiki>||2001</nowiki>
| {{#invoke:Date|modeleDate|||2001|}}
| 1 / 0
|-
| uniquement l’année avec qualificatif
| <nowiki>||2001|en littérature</nowiki>
| {{#invoke:Date|modeleDate|||2001|en littérature}}
| 1 / 0
|-
| sans année
| <nowiki>14|octobre</nowiki>
| {{#invoke:Date|modeleDate|14|octobre}}
| 0 / 0
|-
| jour uniquement
| <nowiki>14</nowiki>
| {{#invoke:Date|modeleDate|14}}
| 0 / 0
|-
| mois uniquement
| <nowiki>|Octobre</nowiki>
| {{#invoke:Date|modeleDate||Octobre}}
| 0 / 0
|-
| sans argument
| <nowiki></nowiki>
| {{#invoke:Date|modeleDate}}
| 0 / 0
|-
| date du calendrier julien
|<nowiki>1|octobre|2001|julien=oui</nowiki>
| {{#invoke:Date|modeleDate|1|octobre|2001|julien=oui}}
|
|-
| date du calendrier julien (changement de mois)
|<nowiki>25|octobre|2001|julien=oui</nowiki>
| {{#invoke:Date|modeleDate|25|octobre|2001|julien=oui}}
|
|-
| date du calendrier julien (changement d'année)
|<nowiki>25|décembre|2001|julien=oui</nowiki>
| {{#invoke:Date|modeleDate|25|décembre|2001|julien=oui}}
|
|-
| date de naissance
|<nowiki>14|octobre|2001|age=oui</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2001|age=oui}}
|
|}
==== Comparaison avec {{m|date de naissance}} ====
* les fonctions coûteuses sont les mêmes que celles du modèle Date
* sans l'âge, voir comparaison avec {{m|Date}}
{|class="wikitable alternance" style="text-align:center;"
|-
! Motif testé !! Chaîne testée !! Modèle Date de naissance!! Module
|-
| simple
|<nowiki>1|8|2006|âge=oui</nowiki>
| {{Date de naissance|1|8|2006|âge=oui}}
| {{#invoke:Date|modeleDate|1|8|2006|âge=oui}}
|-
| avec qualificatif
|<nowiki>1|août|2006|en Suisse|age=oui</nowiki>
| {{Date de naissance|1|août|2006|en Suisse|age=oui}}
| {{#invoke:Date|modeleDate|1|août|2006|en Suisse|age=oui}}
|-
| date ancienne
|<nowiki>2|1|598|age=oui</nowiki>
| {{Date de naissance|2|1|598|age=oui}}
| {{#invoke:Date|modeleDate|2|1|598|age=oui}}
|-
| l'an dernier
|<nowiki>2|1|2012|age=oui</nowiki>
| {{Date de naissance|2|1|2012|age=oui}}
| {{#invoke:Date|modeleDate|2|1|2012|age=oui}}
|-
| cette année
|<nowiki>2|1|2013|age=oui</nowiki>
| {{Date de naissance|2|1|2013|age=oui}}
| {{#invoke:Date|modeleDate|2|1|2013|age=oui}}
|-
| l'an prochain
|<nowiki>2|1|2014|age=oui</nowiki>
| {{Date de naissance|2|1|2014|age=oui}}
| {{#invoke:Date|modeleDate|2|1|2014|age=oui}}
|-
| sans jour
|<nowiki>|8|2006|âge=oui</nowiki>
| {{Date de naissance||8|2006|âge=oui}}
| {{#invoke:Date|modeleDate||8|2006|âge=oui}}
|-
| annee seule
|<nowiki>||2006|âge=oui</nowiki>
| {{Date de naissance|||2006|âge=oui}}
| {{#invoke:Date|modeleDate|||2006|âge=oui}}
|}
==== Comparaison avec {{m|date sport}} ====
* lorsqu'il n'y a pas de qualificatif, « en sport » est ajouté pour tester le module.
{|class="wikitable alternance" style="text-align:center;"
|-
! Motif testé !! Chaîne testée !! Modèle Date sport !! Module !! Fonctions coûteuses<br />modèle / module
|-
| simple
|<nowiki>1|2|1980</nowiki>
| {{date sport|1|2|1980}}
| {{#invoke:Date|modeleDate|1|2|1980|en sport}}
| 1 / 0
|-
| avec qualificatif
|<nowiki>12|2|1980|en gymnastique</nowiki>
| {{date sport|12|2|1980|en gymnastique}}
| {{#invoke:Date|modeleDate|12|2|1980|en gymnastique}}
| 2 / 0
|-
| qualificatif avec page possible pour cette année
|<nowiki>12|2|1977|en gymnastique</nowiki>
| {{date sport|12|2|1977|en gymnastique}}
| {{#invoke:Date|modeleDate|12|2|1977|en gymnastique}}
| 3 / 1
|-
| avec qualificatif et âge
|<nowiki>12|2|1980|en gymnastique|age=oui</nowiki>
| {{date sport|12|2|1980|en gymnastique|age=oui}}
| {{#invoke:Date|modeleDate|12|2|1980|en gymnastique|age=oui}}
| 2 / 0
|-
| date ancienne
|<nowiki>12|2|1843</nowiki>
| {{date sport|12|2|1843}}
| {{#invoke:Date|modeleDate|12|2|1843|en sport}}
| 1 / 0
|-
| date récente avec page mensuelle
|<nowiki>12|2|2006</nowiki>
| {{date sport|12|2|2006}}
| {{#invoke:Date|modeleDate|12|2|2006|en sport}}
| 1 / 0
|-
| date récente avec page mensuelle et qualif
|<nowiki>12|2|2006|en gymnastique</nowiki>
| {{date sport|12|2|2006|en gymnastique}}
| {{#invoke:Date|modeleDate|12|2|2006|en gymnastique}}
| 2 / 0
|-
| date trop récente sans page mensuelle
|<nowiki>1|8|2013</nowiki>
| {{date sport|1|8|2013}}
| {{#invoke:Date|modeleDate|1|8|2013|en sport}}
| 1 / 1
|-
| date trop récente sans page mensuelle<br /> et qualif avec page annuelle possible
|<nowiki>1|8|2013|en gymnastique</nowiki>
| {{date sport|1|8|2013|en gymnastique}}
| {{#invoke:Date|modeleDate|1|8|2013|en gymnastique}}
| 3 / 2
|}
== dateInfobox( frame ) ==
Fonction destinée aux infobox, notamment pour afficher les dates de naissance et de mort les liens présent dans les dates fournies sont automatiquement supprimées pour gérer les cas ou le paramètre contient déjà un modèle date. Le contenu du paramètre situé après la date (par exemple un lieu, une référence) est conservé.
=== Paramètres ===
* 1 : type de date à afficher (naissance / n, mort / m, ou date / d)
* 2 : Date ou date de naissance
* 3 : Date de mort si type n ou m
* <code>qualificatif</code> : suffixe des pages de date à lier (exemple : en musique)
* <code>nolinks</code> : n'affiche pas de lien
* <code>préfixe</code> : préfixe à afficher s'il y a un jour (par défaut vide)
* <code>préfixe sans jour</code> : préfixe à afficher s'il n'y a pas de jour (par défaut vide)
Ces paramètres doivent être directement dans le #invoke appelant la fonction.
=== Exemples ===
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet 1927}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet 1927}}
* <code><nowiki>{{#invoke:Date|dateInfobox|naissance|13 juillet 1927|}}</nowiki></code> → {{#invoke:Date|dateInfobox|naissance|13 juillet 1927|}}
* <code><nowiki>{{#invoke:Date|dateInfobox|naissance|13 juillet 1927|14 mai 2017}}</nowiki></code> → {{#invoke:Date|dateInfobox|naissance|13 juillet 1927|30 juin 2017}}
* <code><nowiki>{{#invoke:Date|dateInfobox|naissance|30 juin 2017-}}</nowiki></code> → {{#invoke:Date|dateInfobox|naissance|30 juin 2017-}}
* <code><nowiki>{{#invoke:Date|dateInfobox|mort|13 juillet 1927|30 juin 2017}}</nowiki></code> → {{#invoke:Date|dateInfobox|mort|13 juillet 1927|30 juin 2017}}
* <code><nowiki>{{#invoke:Date|dateInfobox|mort||30 juin 2017}}</nowiki></code> → {{#invoke:Date|dateInfobox|mort||30 juin 2017}}
* <code><nowiki>{{#invoke:Date|dateInfobox|mort|13 juillet 1927|}}</nowiki></code> → {{#invoke:Date|dateInfobox|mort|13 juillet 1927|}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet 1927| qualificatif = en France}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet 1927| qualificatif = en France}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet 1927| préfixe = le}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet 1927| préfixe = le}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet 1927| préfixe = le | préfixe sans jour = en}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet 1927| préfixe = le | préfixe sans jour = en}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|juillet 1927| préfixe = le}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|juillet 1927| préfixe = le}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|juillet 1927| préfixe = le | préfixe sans jour = en}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|juillet 1927| préfixe = le | préfixe sans jour = en}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet [[1927]]}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet [[1927]]}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet [[1927 en France|1927]]}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet [[1927 en France|1927]]}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|{{date|13 juillet 1927|en France}}}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|{{date|13 juillet 1927|en France}}}}
<includeonly>
{{Projet Scribunto}}
</includeonly>
<noinclude>
[[Catégorie:Documentation de module|{{BASEPAGENAME}}]]
</noinclude>
=== Fonctions utilisables depuis un modèle ===
* <code>modeleDate(frame)</code> – affiche une date avec les liens les plus pertinents (précisions [[#modeleDate( frame )|ci-dessous]]).
* <code>dateISO(frame)</code> – similaire à modeleInscriptionDate mais la date est au format aaaa-mm-jj. Paramètres nommés année, mois, jour. Pour respecter l'[[ISO 8601]] qui définit la date uniquement selon le [[calendrier grégorien]], cette fonction ne retourne rien pour les dates avant 1583.
* <code>dateInfobox(frame)</code> affiche une date avec les liens pertinents, gère correctement les paramètres contenant déjà un modèle date, ou avec du texte suivant la date (précisions [[#dateInfobox( frame )|ci-dessous]]). Prévu pour être utilisé dans les Infobox.
* <code>dateRepublicain(frame)</code> – affiche une date grégorienne au format républicain (sans liens). Paramètres 1=année, 2=mois, 3=jour.
* <code>modeleAge(frame)</code> - retourne l'âge (nombre d'années) depuis une date ou entre deux dates. Paramètres 1=année, 2=mois, 3=jour, 4=année, 5=mois, 6=jour.
* <code>erreurModuleData()</code> - retourne un message d'erreur si Module:Date/Data ne se charge pas correctement.
* <code>checkDataCat(frame)</code> - retourne une liste de pages annuelle et mensuelle pour faciliter les mises à jour de Date/Data. Paramètres 1=cat, mois=liste de mois si 'oui', alias = liste tous les alias si 'oui'
=== Fonctions utilisables depuis un autre module ===
* <code>valideMois( mois )</code> – retourne le nom français et le n° de <code>mois</code> (nom français, abrégé, anglais, ou nombre entre 1 et 12).
* <code>determinationMois( mois, frame )</code> - similaire à valideMois, mais le numéro du mois n'est pas limité (14 → février), et peut même être une expression si un objet frame est fourni ( 6 + 3 → septembre )
* <code>do_dayRank(arguments)</code> - Rang du jour dans l'année. Paramètre arguments = { année, mois, jour } ou { year = année, month = mois, day = jour }
* <code>isLeapYear(year)</code> - retourne true si year est une année bissextile dans le calendrier grégorien.
* <code>toRoman(number)</code> - transforme number en une chaine le représentant en « [[Numération romaine|chiffres romains]] ».
* <code>age( an, mn, jn, ac, mc, jc )</code> - similaire à modeleAge, mais les paramètres ne sont pas dans une table
* <code>julianDay( year, month, day, hour, minute, second )</code> - retourne le [[jour julien]] de la date transmise, suivant le [[Calendrier grégorien proleptique|calendrier grégorien astronomique]] (avec année 0)
* <code>julianDayJulian( year, month, day, hour, minute, second )</code> - retourne le [[jour julien]] d'une date du [[Calendrier julien proleptique|calendrier julien astronomique]] (avec année 0)
* <code>julianDayToGregorian( jd )</code> - retourne trois variables année, mois, jour représentant la date du [[Calendrier grégorien proleptique|calendrier grégorien astronomique]] correspondant à ce jour julien.
* <code>julianDayToJulian( jd )</code> - retourne trois variables année, mois, jour représentant la date du [[Calendrier julien proleptique|calendrier julien]] correspondant à ce jour julien.
* <code>julianToGregorian( year, month, day )</code> - transforme une date du calendrier julien en date du calendrier grégorien.
* <code>gregorianToJulian( year, month, day )</code> - transforme une date du calendrier grégorien en date du calendrier julien.
=== Modules externes dont ce module a besoin pour fonctionner ===
* <code>[[Module:Date/Data|Date/Data]]</code> - Base de donnée permettant de ne pas tester les pages que l'on sait existantes, ou n'existant pas.
* <code>[[Module:TableBuilder|TableBuilder]]</code> – Utilise <code>.insert</code> et <code>.concat</code> pour simplifier la syntaxe.
== modeleDate( frame ) ==
=== Paramètres ===
* <code>1</code> - jour ou vide - numérique, exception possible pour 1er ou {{1er}}.
* <code>2</code> - mois ou jour - numérique ou nom français ou anglais, éventuellement une abréviation courante.
* <code>3</code> - année ou mois - Un nombre sera considéré comme année. Les années sont considérées comme suivant le calendrier grégorien après le 14 octobre 1582 (sauf si julien = 'oui') et le calendrier julien avant, sans année 0.
* <code>4</code> - qualificatif ou année - texte correspondant à une page type « en photographie » pour « [[2008 en photographie]] »
* <code>5</code> - qualificatif
* <code>age</code> ou <code>âge</code> - non vide pour afficher l'âge (aucun âge n'est affiché pour les dates dans le futur)
* <code>julien</code> - 'oui' pour que la date soit considérée comme suivant le calendrier julien après le 14 octobre 1582. La date grégorienne avec liens est affichée suivie de la date julienne entre parenthèses.
* <code>avJC</code> - 'non' pour ne pas afficher 'av. J.-C.' après l'année si elle représente une année avant Jésus-Christ. Utile pour éviter les répétitions.
* <code>paramètres page</code> - Si un modèle {{m|date}} contient ce paramètre, les paramètres <code>julien</code>, <code>avJC</code> et <code>qualificatif</code> seront appliqués à toutes les dates de la page, sauf si une autre valeur de ces paramètres est indiquée. Le modèle date qui contient ce paramètre n'a pas besoin d'être affiché par le module Date, et peut être en commentaire dans la page. La page doit être purgée pour que ce paramètre soit pris en compte.
* <code>qualificatif</code> - qualificatif à appliquer sur toute la page. Ne fonctionne qu'en liaison avec le paramètre <code>paramètres page</code>
=== Fonctionnement ===
* le modèle cherche à afficher la date avec des liens vers les pages liées au qualificatif. S'il n'y a pas de page liée au qualificatif un lien sera fait vers la page générale.
* le premier paramètre est vide et le troisième correspond à un mois (texte uniquement), tous les paramètres sont considérés comme décalés et l'année ne sera pas affichée.
* s'il n'y a pas de page spécifique pour ce mois-année, le mois sera affiché lié avec le jour à l'éphéméride. Priorité est donnée à l'éphéméride du qualificatif sur le lien mois-année sans qualificatif.
* le modèle s'aide de la base de donnée [[Module:Date/Data|Date/Data]] pour éviter d'utiliser la fonction mw.title (équivalent du parser #ifexist:).
* cette base permet de remplacer le qualificatif par une catégorie plus générique. Si le qualificatif est « en tennis », l'éphéméride et la page mensuelle sera liée au qualificatif « en sport ».
* pour éviter de répéter le même qualificatif sur toutes les dates de la page, il suffit d'avoir quelque part dans le texte de la page, même en commentaire mais pas amené par un modèle, le texte <code><nowiki>{{Date|paramètres page= |qualificatif= mon qualificatif}}</nowiki></code>. Le modèle peut contenir d'autre paramètres. Seul le premier modèle date contenant ce paramètre sera pris en compte.
=== Fonction modeleDate ===
{|class="wikitable alternance" style="text-align:center;"
|-
! Motif testé !! Chaîne testée !! Module !! Fonctions coûteuses<br />modèle d'avant / module
|-
| date récente
|<nowiki>14|octobre|2001</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2001}}
| 1 / 0
|-
| date ancienne (1700 - 1943), jour =1
| <nowiki>1|octobre|1842</nowiki>
| {{#invoke:Date|modeleDate|1|octobre|1842}}
| 1 / 1
|-
| date très ancienne (<1700), jour = 1er
| <nowiki>1|janvier|537</nowiki>
| {{#invoke:Date|modeleDate|1er|janvier|537}}
| 1 / 0
|-
| qualificatif qui n'est pas dans la base
| <nowiki>14|octobre|2010|en animation asiatique</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2010|en animation asiatique}}
| 4 / 1
|-
| date ancienne, qualificatif qui n'est pas dans la base
| <nowiki>14|octobre|1842|en animation asiatique</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|1842|en animation asiatique}}
| 4 / 2
|-
| avec qualificatif
| <nowiki>14|Octobre|2001|en astronautique</nowiki>
| {{#invoke:Date|modeleDate|14|Octobre|2001|en astronautique}}
| 3 / 0
|-
| avec qualificatif avec éphémérides
| <nowiki>14|octobre|2005|dans les chemins de fer</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2005|dans les chemins de fer}}
| 4 / 0
|-
| pas de jour
| <nowiki>|octobre|2001</nowiki>
| {{#invoke:Date|modeleDate||octobre|2001}}
| 1 / 0
|-
| pas de jour avec qualificatif
| <nowiki>|Octobre|2001|en astronautique</nowiki>
| {{#invoke:Date|modeleDate||Octobre|2001|en astronautique}}
| 3 / 0
|-
| qualificatif avec page annuelle qui pourrait exister
| <nowiki>14|octobre|2006|en Égypte</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2006|en Égypte}}
| 4 / 1
|-
| qualificatif avec page mensuelle existante
| <nowiki>14|octobre|2008|en France</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2008|en France}}
| 3 / 0
|-
| qualificatif avec page mensuelle qui pourrait exister
| <nowiki>14|octobre|2012|en France</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2012|en France}}
| 4 / 1
|-
| qualificatif avec page annuelle et mensuelle qui pourrait exister
| <nowiki>14|octobre|2012|en économie</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2012|en économie}}
| 4 / 2
|-
| date ancienne avec qualificatif
| <nowiki>14|octobre|1845|en aéronautique</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|1845|en aéronautique}}
| 4 / 1
|-
| date négative
| <nowiki>13|octobre|-63</nowiki>
| {{#invoke:Date|modeleDate|13|octobre|-63}}
| 1 / 0
|-
| date av. J.-C. (orthographe de la page)
| <nowiki>1|octobre|63 av. J.-C.</nowiki>
| {{#invoke:Date|modeleDate|{{1er}}|octobre|63 av. J.-C.}}
| 1 / 0
|-
| date avJC (orthographe abrégée)
| <nowiki>13|octobre|63 avJC</nowiki>
| {{#invoke:Date|modeleDate|13|octobre|63 avJC}}
| 1 / 0
|-
| date négative, paramètre pour cacher av. J.-C.
| <nowiki>13|octobre|-63|avJC=non</nowiki>
| {{#invoke:Date|modeleDate|13|octobre|-63|avJC=non}}
| 1 / 0
|-
| année invalide
| <nowiki>14|octobre|2001 en sport</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2001 en sport}}
| 1 / 0
|-
| jour + mois avec majuscule
| <nowiki>14|Octobre|2001</nowiki>
| {{#invoke:Date|modeleDate|14|Octobre|2001}}
| 1 / 0
|-
| mois en abrégé
| <nowiki>14|oct.|2001</nowiki>
| {{#invoke:Date|modeleDate|14|oct.|2001}}
| 1 / 0
|-
| mois en chiffre
| <nowiki>14|10|2001</nowiki>
| {{#invoke:Date|modeleDate|14|10|2001}}
| 1 / 0
|-
| mois invalide
| <nowiki>14|otcobre|2001</nowiki>
| {{#invoke:Date|modeleDate|14|otcobre|2001}}
| 1 / 0
|-
| jour invalide
| <nowiki>jeudi 14|octobre|2001</nowiki>
| {{#invoke:Date|modeleDate|jeudi 14|octobre|2001}}
| 1 / 0
|-
| jour invalide (trop grand pour le mois)
| <nowiki>31|septembre|2001</nowiki>
| {{#invoke:Date|modeleDate|31|septembre|2001}}
| 1 / 0
|-
| uniquement l’année
| <nowiki>||2001</nowiki>
| {{#invoke:Date|modeleDate|||2001|}}
| 1 / 0
|-
| uniquement l’année avec qualificatif
| <nowiki>||2001|en littérature</nowiki>
| {{#invoke:Date|modeleDate|||2001|en littérature}}
| 1 / 0
|-
| sans année
| <nowiki>14|octobre</nowiki>
| {{#invoke:Date|modeleDate|14|octobre}}
| 0 / 0
|-
| jour uniquement
| <nowiki>14</nowiki>
| {{#invoke:Date|modeleDate|14}}
| 0 / 0
|-
| mois uniquement
| <nowiki>|Octobre</nowiki>
| {{#invoke:Date|modeleDate||Octobre}}
| 0 / 0
|-
| sans argument
| <nowiki></nowiki>
| {{#invoke:Date|modeleDate}}
| 0 / 0
|-
| date du calendrier julien
|<nowiki>1|octobre|2001|julien=oui</nowiki>
| {{#invoke:Date|modeleDate|1|octobre|2001|julien=oui}}
|
|-
| date du calendrier julien (changement de mois)
|<nowiki>25|octobre|2001|julien=oui</nowiki>
| {{#invoke:Date|modeleDate|25|octobre|2001|julien=oui}}
|
|-
| date du calendrier julien (changement d'année)
|<nowiki>25|décembre|2001|julien=oui</nowiki>
| {{#invoke:Date|modeleDate|25|décembre|2001|julien=oui}}
|
|-
| date de naissance
|<nowiki>14|octobre|2001|age=oui</nowiki>
| {{#invoke:Date|modeleDate|14|octobre|2001|age=oui}}
|
|}
==== Comparaison avec {{m|date de naissance}} ====
* les fonctions coûteuses sont les mêmes que celles du modèle Date
* sans l'âge, voir comparaison avec {{m|Date}}
{|class="wikitable alternance" style="text-align:center;"
|-
! Motif testé !! Chaîne testée !! Modèle Date de naissance!! Module
|-
| simple
|<nowiki>1|8|2006|âge=oui</nowiki>
| {{Date de naissance|1|8|2006|âge=oui}}
| {{#invoke:Date|modeleDate|1|8|2006|âge=oui}}
|-
| avec qualificatif
|<nowiki>1|août|2006|en Suisse|age=oui</nowiki>
| {{Date de naissance|1|août|2006|en Suisse|age=oui}}
| {{#invoke:Date|modeleDate|1|août|2006|en Suisse|age=oui}}
|-
| date ancienne
|<nowiki>2|1|598|age=oui</nowiki>
| {{Date de naissance|2|1|598|age=oui}}
| {{#invoke:Date|modeleDate|2|1|598|age=oui}}
|-
| l'an dernier
|<nowiki>2|1|2012|age=oui</nowiki>
| {{Date de naissance|2|1|2012|age=oui}}
| {{#invoke:Date|modeleDate|2|1|2012|age=oui}}
|-
| cette année
|<nowiki>2|1|2013|age=oui</nowiki>
| {{Date de naissance|2|1|2013|age=oui}}
| {{#invoke:Date|modeleDate|2|1|2013|age=oui}}
|-
| l'an prochain
|<nowiki>2|1|2014|age=oui</nowiki>
| {{Date de naissance|2|1|2014|age=oui}}
| {{#invoke:Date|modeleDate|2|1|2014|age=oui}}
|-
| sans jour
|<nowiki>|8|2006|âge=oui</nowiki>
| {{Date de naissance||8|2006|âge=oui}}
| {{#invoke:Date|modeleDate||8|2006|âge=oui}}
|-
| annee seule
|<nowiki>||2006|âge=oui</nowiki>
| {{Date de naissance|||2006|âge=oui}}
| {{#invoke:Date|modeleDate|||2006|âge=oui}}
|}
==== Comparaison avec {{m|date sport}} ====
* lorsqu'il n'y a pas de qualificatif, « en sport » est ajouté pour tester le module.
{|class="wikitable alternance" style="text-align:center;"
|-
! Motif testé !! Chaîne testée !! Modèle Date sport !! Module !! Fonctions coûteuses<br />modèle / module
|-
| simple
|<nowiki>1|2|1980</nowiki>
| {{date sport|1|2|1980}}
| {{#invoke:Date|modeleDate|1|2|1980|en sport}}
| 1 / 0
|-
| avec qualificatif
|<nowiki>12|2|1980|en gymnastique</nowiki>
| {{date sport|12|2|1980|en gymnastique}}
| {{#invoke:Date|modeleDate|12|2|1980|en gymnastique}}
| 2 / 0
|-
| qualificatif avec page possible pour cette année
|<nowiki>12|2|1977|en gymnastique</nowiki>
| {{date sport|12|2|1977|en gymnastique}}
| {{#invoke:Date|modeleDate|12|2|1977|en gymnastique}}
| 3 / 1
|-
| avec qualificatif et âge
|<nowiki>12|2|1980|en gymnastique|age=oui</nowiki>
| {{date sport|12|2|1980|en gymnastique|age=oui}}
| {{#invoke:Date|modeleDate|12|2|1980|en gymnastique|age=oui}}
| 2 / 0
|-
| date ancienne
|<nowiki>12|2|1843</nowiki>
| {{date sport|12|2|1843}}
| {{#invoke:Date|modeleDate|12|2|1843|en sport}}
| 1 / 0
|-
| date récente avec page mensuelle
|<nowiki>12|2|2006</nowiki>
| {{date sport|12|2|2006}}
| {{#invoke:Date|modeleDate|12|2|2006|en sport}}
| 1 / 0
|-
| date récente avec page mensuelle et qualif
|<nowiki>12|2|2006|en gymnastique</nowiki>
| {{date sport|12|2|2006|en gymnastique}}
| {{#invoke:Date|modeleDate|12|2|2006|en gymnastique}}
| 2 / 0
|-
| date trop récente sans page mensuelle
|<nowiki>1|8|2013</nowiki>
| {{date sport|1|8|2013}}
| {{#invoke:Date|modeleDate|1|8|2013|en sport}}
| 1 / 1
|-
| date trop récente sans page mensuelle<br /> et qualif avec page annuelle possible
|<nowiki>1|8|2013|en gymnastique</nowiki>
| {{date sport|1|8|2013|en gymnastique}}
| {{#invoke:Date|modeleDate|1|8|2013|en gymnastique}}
| 3 / 2
|}
== dateInfobox( frame ) ==
Fonction destinée aux infobox, notamment pour afficher les dates de naissance et de mort les liens présent dans les dates fournies sont automatiquement supprimées pour gérer les cas ou le paramètre contient déjà un modèle date. Le contenu du paramètre situé après la date (par exemple un lieu, une référence) est conservé.
=== Paramètres ===
* 1 : type de date à afficher (naissance / n, mort / m, ou date / d)
* 2 : Date ou date de naissance
* 3 : Date de mort si type n ou m
* <code>qualificatif</code> : suffixe des pages de date à lier (exemple : en musique)
* <code>nolinks</code> : n'affiche pas de lien
* <code>préfixe</code> : préfixe à afficher s'il y a un jour (par défaut vide)
* <code>préfixe sans jour</code> : préfixe à afficher s'il n'y a pas de jour (par défaut vide)
Ces paramètres doivent être directement dans le #invoke appelant la fonction.
=== Exemples ===
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet 1927}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet 1927}}
* <code><nowiki>{{#invoke:Date|dateInfobox|naissance|13 juillet 1927|}}</nowiki></code> → {{#invoke:Date|dateInfobox|naissance|13 juillet 1927|}}
* <code><nowiki>{{#invoke:Date|dateInfobox|naissance|13 juillet 1927|14 mai 2017}}</nowiki></code> → {{#invoke:Date|dateInfobox|naissance|13 juillet 1927|30 juin 2017}}
* <code><nowiki>{{#invoke:Date|dateInfobox|naissance|30 juin 2017-}}</nowiki></code> → {{#invoke:Date|dateInfobox|naissance|30 juin 2017-}}
* <code><nowiki>{{#invoke:Date|dateInfobox|mort|13 juillet 1927|30 juin 2017}}</nowiki></code> → {{#invoke:Date|dateInfobox|mort|13 juillet 1927|30 juin 2017}}
* <code><nowiki>{{#invoke:Date|dateInfobox|mort||30 juin 2017}}</nowiki></code> → {{#invoke:Date|dateInfobox|mort||30 juin 2017}}
* <code><nowiki>{{#invoke:Date|dateInfobox|mort|13 juillet 1927|}}</nowiki></code> → {{#invoke:Date|dateInfobox|mort|13 juillet 1927|}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet 1927| qualificatif = en France}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet 1927| qualificatif = en France}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet 1927| préfixe = le}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet 1927| préfixe = le}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet 1927| préfixe = le | préfixe sans jour = en}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet 1927| préfixe = le | préfixe sans jour = en}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|juillet 1927| préfixe = le}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|juillet 1927| préfixe = le}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|juillet 1927| préfixe = le | préfixe sans jour = en}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|juillet 1927| préfixe = le | préfixe sans jour = en}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet [[1927]]}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet [[1927]]}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|13 juillet [[1927 en France|1927]]}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|13 juillet [[1927 en France|1927]]}}
* <code><nowiki>{{#invoke:Date|dateInfobox|date|{{date|13 juillet 1927|en France}}}}</nowiki></code> → {{#invoke:Date|dateInfobox|date|{{date|13 juillet 1927|en France}}}}
<includeonly>
{{Projet Scribunto}}
</includeonly>
<noinclude>
[[Catégorie:Documentation de module|{{BASEPAGENAME}}]]
</noinclude>