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?

0
chell 16 déc. 2011 à 15:11

5 réponses

Meilleure réponse
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"

2
Andro Selva 28 mars 2014 à 14:04

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]);
1
Zoltan Toth 16 déc. 2011 à 11:16

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 :-)]

1
Grooveek 16 déc. 2011 à 11:14

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")

0
Dalen 16 déc. 2011 à 11:16

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

0
Jørgen 16 déc. 2011 à 11:19
8533357