Je reçois l'anniversaire des amis des utilisateurs Facebook de Facebook dans le format suivant:
10/07/1967 or just the day and month as 10/07
Je veux l'afficher comme "07 octobre 1967" ou "07 octobre"
Existe-t-il un moyen de convertir cette chaîne en une date et de la formater en Javascript?
5 réponses
var MONTHS = ["January","February","March","April","May","June","July","August","September","October","November","December"];
var myDate, myFormatDate;
var date_str ='10/07/1967';
var t = date_str.split("/");
if(t[2]) {
myDate = new Date(t[2], t[0] - 1, t[1]);
myFormatDate = MONTHS[myDate.getMonth()] + "," + myDate.getDate() + "," + myDate.getFullYear();
} else {
myDate = new Date(new Date().getFullYear(), t[0] - 1, t[1]);
myFormatDate = MONTHS[myDate.getMonth()] + "," + mydate.getDate();
}
= RÉSULTAT:
= myDate - l'objet Date
= FormatDate - chaîne de date formatée "07 octobre 1967"
Pour le faire rapidement, sans cloches et sifflets, vous pouvez d'abord diviser votre date
myDateParts = myDate.split("/");
Construisez ensuite la nouvelle date à partir des parties:
myNewDate = new Date(myDateParts[2], myDateParts[1], myDateParts[0]);
Découvrez la superbe bibliothèque DateJS. Vous pourrez faire ce que vous voulez et plus encore ...
[Non, je ne suis impliqué en aucune façon avec DateJs, juste un utilisateur très satisfait :-)]
En utilisant moment.js, vous pouvez convertir une date avec:
moment('10/07/1967', "MM/DD/YYYY").format("MMMM, DD, YY")
Où la première partie obtient une date à partir d'une chaîne donnée un format ("MM/DD/YYYY"
), alors vous formatez simplement la date comme vous le souhaitez en donnant un autre format ("MMMM, DD, YY"
)
Si vous ne voulez pas utiliser de framework, vous pouvez simplement passer la chaîne au constructeur date:
var birthday = new Date('10/07/1967');
Le constructeur accepte également les chaînes sans année, comme '10 / 07 '. Ensuite, vous pouvez accéder à chacune des propriétés comme vous le souhaitez: https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date
Questions connexes
De nouvelles questions
javascript
Pour des questions concernant la programmation dans ECMAScript (JavaScript / JS) et ses divers dialectes / implémentations (hors ActionScript). Veuillez inclure toutes les balises pertinentes dans votre question; par exemple, [node.js], [jquery], [json], etc.