Je travaille avec des éléments HTML5 sur ma page Web. Par défaut, l'entrée type="date"
montre la date comme YYYY-MM-DD
.
La question est de savoir s'il est possible de changer son format en quelque chose comme : DD-MM-YYYY
?
Il est impossible de modifier le format.
Il faut faire la différence entre le format over the wire et le format de présentation du navigateur.
La [spécification de saisie de la date HTML5][1] fait référence à la [spécification RFC3339][2], qui spécifie un format de date complet égal à : yyyy-mm-dd
. Voir la [section 5.6][3] de la spécification RFC3339 pour plus de détails.
Les navigateurs n'ont aucune restriction quant à la manière dont ils présentent la saisie d'une date. Au moment de la rédaction du présent document, Chrome, Edge, Firefox et Opera prennent en charge la date (voir [ici][4]). Ils affichent tous un sélecteur de date et formatent le texte dans le champ de saisie.
Périphériques de bureau
Pour Chrome, Firefox et Opera, le formatage du texte du champ de saisie est basé sur le paramètre de langue du navigateur. Pour Edge, il est basé sur le paramètre de langue de Windows. Malheureusement, tous les navigateurs web ignorent le formatage de la date configuré dans le système d'exploitation. Pour moi, c'est un comportement très étrange, et il faut en tenir compte lorsque l'on utilise ce type de saisie. Par exemple, les utilisateurs néerlandais dont la langue du système d'exploitation ou du navigateur est réglée sur "en-us" verront apparaître "01/30/2019" au lieu du format auquel ils sont habitués : 30-01-2019
.
Internet Explorer 9, 10 et 11 affiche un champ de saisie de texte au format filaire.
Appareils mobiles
En ce qui concerne spécifiquement Chrome sur Android, le formatage est basé sur le langage d'affichage d'Android. Je soupçonne qu'il en va de même pour les autres navigateurs, bien que je n'aie pas pu le vérifier.
[1] : https://www.w3.org/TR/2011/WD-html-markup-20110405/input.date.html [2] : https://tools.ietf.org/html/rfc3339 [3] : https://tools.ietf.org/html/rfc3339#section-5.6 [4] : https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/date#Browser_compatibility
Google Chrome dans sa dernière version bêta utilise enfin l'entrée type=date
, et le format est DD-MM-YYYY
.
Il doit donc y avoir un moyen de forcer un format spécifique. Je développe une page Web HTML5 et les recherches de date échouent maintenant avec différents formats.