Afficher la date et l'heure Comment bien faire les choses
Nous rencontrons leurs dates et heures… enfin, tous les jours. En ce qui concerne le Web, vous pouvez les repérer dans vos applications mobiles, dans vos courriels, dans vos applications de messagerie et dans de nombreux autres endroits. Pourtant, en dépit de voir la date et l'heure tous les jours et partout, nous devons encore adopter un format universel pour cela.
Par exemple, si j'écris le 10/05/2015, vous ne pouvez jamais être sûr que ce "10" est le mois ou la date, à moins que je ne vous dise d'où je viens. Parfois, le format change, parfois la langue.
Il est important qu'en tant que développeurs Web, nous fassions attention à la date et à l'heure avec lesquelles nous traitons dans nos projets, afin de pouvoir répondre à différents habitants géographiques sans aucun conflit. Dans ce post, nous allons discuter quoi éviter et quoi embrasser quand il s'agit d'afficher la date et l'heure.
La globalisation
Disons que nous ne voulons pas convertir et montrer différents formats de date et d'heure à différents spectateurs du monde entier, que pouvons-nous faire? Nous choisissons un format global et nous y tenons. Voici où certaines normes entrent en jeu. Avant d’y arriver, je dois signaler que le W3C recommande d’utiliser le format de date ISO 8601 avec le fuseau horaire UTC..
ISO 8601
L'ISO 8601 décrit un moyen accepté internationalement de représenter les dates et les heures à l'aide de nombres.
Et le format pour la date complète est; AAAA-MM-JJ
, par exemple: 2015-07-28
AAAA = année à 4 chiffres
MM = 2 chiffres du mois (01 = janvier, etc.)
JJ = jour à 2 chiffres (01 à 31)
Pour la date-heure complète;AAAA-MM-JJThh: mm: ss.s
, par exemple: 2015-07-28T21: 15: 18.45
T = Pour séparer la date et l'heure conformément à l'ISO 8601
mm = minute de chiffres (00 à 59)
ss = seconde de 2 chiffres (00 à 59)
s = fraction décimale de seconde, 1 ou plusieurs chiffres
Veuillez noter qu’aucun fuseau horaire n’a été mentionné dans l’exemple ci-dessus, il faut donc supposer que l’heure est dans le fuseau horaire local. Si vous avez décidé d'utiliser le fuseau horaire UTC, ajoutez simplement Z à la valeur pour désigner UTC
Par exemple: 2015-07-28T21: 15: 18.45Z
Mais si vous souhaitez afficher l'heure locale, vous pouvez ajouter un décalage horaire pour UTC à la valeur dans les formats +hh: mm
ou -hh: mm
comme requis.
Par exemple: supposons 2015-07-28T21: 15: 18.45
est dans le fuseau horaire EST (heure normale de l'Est) qui est en retard de 5 heures sur le fuseau horaire UTC.
Pour le représenter avec un décalage UTC, nous écrivons 2015-07-28T21: 15: 18.45-05: 00
qui est équivalent à l'heure UTC 2015-07-29T02: 15: 18.45Z
.
Encore Z est ajouté pour indiquer que la date-heure affichée est en heure UTC.
UTC vs GMT
Ils sont tous deux identiques mais différents. À ce jour, vous avez probablement déjà rencontré GMT au moins une fois. lors de la configuration de la date et de l'heure sur votre téléphone portable ou votre ordinateur. Il s'agit du fuseau horaire le plus populaire reconnu dans le monde entier depuis qu'il existe depuis plus longtemps que l'heure UTC..
Certains diront peut-être que les deux sont identiques mais ils ne le sont pas, UTC est un successeur de GMT et est maintenu par l'Union internationale des télécommunications. Il est conseillé de se référer au temps basé sur UTC et non GMT.
Utilisez le nom des mois
La norme ISO n'utilisait que des nombres dans la représentation de la date pour éviter tout conflit de langue. Mais si le contenu de votre application Web doit être en anglais, vous devriez envisager de noter des mois en anglais plutôt qu'en chiffres..
Au lieu de 2015-07-28
, 28 juillet 2015
est plus facile à comprendre par beaucoup et moins déroutant.
Localisation
Il arrive que nous voulions être très spécifiques avec nos services et souhaiter représenter la date et l'heure dans des fuseaux horaires et des langues locales. Il existe de nombreuses bibliothèques et API disponibles pour que les développeurs Web utilisent et affichent les dates et heures selon la région d'accès..
Vous pouvez obtenir les paramètres régionaux par défaut du navigateur en interprétant le Accepter la langue
en-tête de demande ou à travers le navigator.language ou navigator.browserLanguage
Objet JavaScript, mais la meilleure méthode consiste à laisser l'utilisateur choisir un environnement local dans votre application puisque les anciens moyens ne sont pas très fiables.
Une fois les paramètres régionaux définis, vous pouvez formater la date et l'heure en fonction, par exemple, à l'aide de la commande API d'internationalisation, vous pouvez formater une date en utilisant toLocaleDateString
en JavaScript, par exemple, myDate.toLocaleDateString ('ko-KR')
renverra une date dans le format utilisé en Corée par les indigènes de langue coréenne.
Heure d'été (DST)
Dans certains pays, l'heure d'été est avancée en transférant les horloges d'une heure en été afin de profiter de la lumière du soleil supplémentaire disponible. Soyez conscient de l'heure d'été pour suivre les heures locales dans vos services.
Aucune année à deux chiffres
Lors de la personnalisation de la date et de l'heure pour la localisation, n'utilisez pas le format à deux chiffres de l'année. Nous sommes déjà au 21ème siècle. En utilisant des années comme 64
, 99
etc. sera gênant à l'avenir. Si vous avez déjà un système d'année à deux chiffres en place, envisagez de le changer..
Année bissextile et autres calendriers
Terminons ce post par quelques éléments divers à retenir lors du traitement des dates. Si vous n’utilisez pas de bibliothèque ou d’API pour les dates et aimez les traiter vous-même (ce qui est ne pas néanmoins recommandé), n'oubliez pas de montrer le 29 février dans l'entrée pour les années bissextiles.
En outre, il convient de noter que le Le calendrier grégorien n’est pas la seule forme de calendrier disponible et utilisée dans le monde entier. Les habitants suivent peu de calendriers régionaux, surtout en ce qui concerne les festivités.
Références
- Union internationale des télécommunications: Étude sur le statut du temps universel coordonné (UTC) à l'UIT-R
- ISO: ISO 8601 - Format de date et heure
- Wikipedia: temps universel coordonné
- Wikipédia: heure avancée
- Wikipedia: heure moyenne de Greenwich
- Note du W3C: Formats de date et heure
- Astuces W3C: Utilisez le format de date international (ISO)