2014-05-09 3 views
0

Je suis en train d'initialiser un nouvel objet date mais je ne comprends pas pourquoi me renvoie jamais la date invalide.Convertir la chaîne par javascript date function

var dateString= this.get("created_at"); 
    var dataParts = dateString.split(' '); 
    var timeParts = dataParts[3].split(':'); 

    //console.log(dataParts);-->["Fri", "May", "09", "17:45:54", "+0000", "2014"] 
    //console.log(timeParts);-->["17", "45", "54"] 


    var year=dataParts[5]; 
    var month=dataParts[1]; 
    var day=dataParts[2]; 
    var hour=timeParts[0]; 
    var minute=timeParts[1]; 
    var second=timeParts[2]; 


    var date = new Date(year,month,day,hour,minute,second); 


    console.log(date); 
+0

["Ven", "Mai", "09", "17:45:54", "+0000", "2014" ] Devrait être ["Fri", "04", "09", "17:45:54", "+0000", "2014"] – highwingers

+2

S'il vous plaît [** lire la documentation **] (https: // développeur .mozilla.org/en-US/docs/Web/JavaScript/Référence/Global_Objects/Date # Parameters): * "' month' Valeur entière représentant le mois, commençant par 0 pour Janvier à 11 pour Décembre. "* –

Répondre

3
var date = new Date(year,month,day,hour,minute,second); 

utilisant ce constructeur du mois doit être un nombre, non « mai ».

Notez également que les mois commencent à 0 pour Janvier, donc mai est 4.

Vous pouvez également construire la date comme une chaîne: new Date("May 09, 2014 17:45:54") des pièces que vous avez. (Vous n'aurez pas à diviser l'heure ou à rechercher le numéro du mois.)

+1

+1 - Petite note, les mois doivent être 0, donc Mai devrait être 4. –

+0

Pourriez-vous me dire comment convertir en nombre approprié? –

+1

Utilisez un 'Object' comme table de recherche. '{..., mai: 4, ...}' – Xotic750

Questions connexes