J'ai remarqué que la fonction JavaScript new Date()
est très intelligente car elle accepte les dates dans plusieurs formats.
Xmas95 = new Date("25 Dec, 1995 23:15:00")
Xmas95 = new Date("2009 06 12,12:52:39")
Xmas95 = new Date("20 09 2006,12:52:39")
Je n'ai trouvé nulle part de documentation montrant tous les formats de chaîne de caractères valides lors de l'appel de la fonction new Date()
fonction.
Il s'agit de convertir une chaîne de caractères en date. Si nous regardons le côté opposé, c'est-à-dire la conversion d'un objet date en chaîne, jusqu'à présent j'avais l'impression que JavaScript n'avait pas d'API intégrée pour formater un objet date en chaîne.
Note de l'éditeur : L'approche suivante est la tentative de l'auteur de la demande qui a fonctionné sur un navigateur particulier, mais qui ne fonctionne pas no le travail en général ; voir les réponses sur cette page pour voir des solutions réelles.
Aujourd'hui, j'ai joué avec le toString()
sur l'objet date et, étonnamment, elle sert à formater la date en chaînes de caractères.
var d1 = new Date();
d1.toString('yyyy-MM-dd'); //Returns "2009-06-29" in Internet Explorer, but not Firefox or Chrome
d1.toString('dddd, MMMM ,yyyy') //Returns "Monday, June 29,2009" in Internet Explorer, but not Firefox or Chrome
Je n'ai pas non plus trouvé de documentation sur toutes les façons de formater l'objet date en une chaîne de caractères.
Où se trouve la documentation qui répertorie les spécificateurs de format pris en charge par le système de gestion de l'information ? Date()
objet ?
169 votes
Vos exemples ne fonctionnent pas réellement comme vous le pensez : jsfiddle.net/edelman/WDNVk/1
29 votes
Désolé, passer des chaînes de format dans toString fonctionne en .NET, et cela peut fonctionner en Java, mais comme Jason l'a souligné, cela ne fonctionne pas en Javascript.
16 votes
Les gens se souviennent - questions, peu importe comment canoniques, doivent rester des questions . Veuillez vous abstenir de toute modification qui transformerait cette question en réponse, affinerait et maintiendrait l'image de l'entreprise. réponses à la place. Merci :)
2 votes
J'ai utilisé le code dans ce lien msdn.microsoft.com/fr/us/library/ie/ff743760(v=vs.94).aspx -- (date.toLocaleDateString("en-US")) ;
0 votes
Si les futurs visiteurs de cette page sont déroutés par la façon dont la plupart des réponses se rapportent à la question, je leur suggère de lire le document suivant révisions des questions notamment (si différent de ce qui précède) révision 15 @ Eric Muyser - Pour ma part, j'ai été troublé par l'absence de l'utilisation invalide de Date#toString.
0 votes
docs.oracle.com/javase/7/docs/api/java/text/
0 votes
Si la plupart des réponses ne sont pas vraiment des réponses ("utiliser la bibliothèque X" n'aide pas, en soi, à documenter le formatage d'une date), il est tout à fait raisonnable de demander où l'ECMA-262 fournit des informations sur une tâche spécifique. C'est ce que les réponses auraient dû aborder avant de mentionner d'autres ressources. Il est difficile de voir comment une question relative à l'ECMA-262 ne peut pas renvoyer à une ressource hors site puisque la spécification est conservée hors site.
0 votes
Je pense que maintenant le API d'internationalisation EcmaScript devrait être utilisé pour répondre à cette question. Quelque chose comme ça :
let formattedDate = new Intl.DateTimeFormat('en-US').format(XMas95)
C'est actuellement la meilleure solution.