web-dev-qa-db-fra.com

jQuery: passe la variable chaîne à l'objet date

J'ai une page avec un certain nombre de variables qui contiennent un date au format chaîne (aaaa-mm-jj) qui provient de l'utilisation de moment.js. 

Existe-t-il un moyen de transmettre une telle variable à un objet de date Javascript, respectivement. pour le convertir en un objet de date en Javascript? 

J'ai essayé ce qui suit mais cela ne fonctionne pas et je ne pouvais pas trouver un moyen d'utiliser moment.js: 

var newVar = new Date(dateVar);

Merci beaucoup pour toute aide avec cela, Tim.

11
user2571510

tout d’abord, je dirai que la suite devrait fonctionner pour vous. 

var dateVar = "2010-10-30";
var d=new Date(dateVar);

si vous dites ci-dessus ne fonctionne pas, cochez la case ci-dessous - 

var dateVar = "2010-10-30";
var dsplit = dateVar.split("-");
var d=new Date(dsplit[0],dsplit[1]-1,dsplit[2]);

pour la preuve vérifier le jsfiddle .. les deux fonctionne bien .. JSFiddle

25
Deepak Sharma

console.log() a été utilisé pour afficher le résultat, lancez-le et vous comprendrez le code

    <script type='text/javascript'>
    var StringDate = "2013-4-13"
    var date = StringDate.split("-"); 
    console.log(date[0]);
    console.log(date[1]);
    console.log(date[2]);

    NewDate = new Date(date[0],date[1]-1,date[2]);//Date object
    console.log(NewDate);
    </script>
5
sanjeev

Pour résoudre ce problème, j'ai créé une fonction qui gère le changement de texte en date:

Mes exemples fonctionnent avec la date suivante: 1er juin 2016 au 01/06/2016, vous pouvez reconstruire la fonction pour que votre format fonctionne ...

Les chiffres à gauche des chiffres sont ajoutés pour correspondre au format du type de date.

function textoafecha(texto)
        {

            hasNumber = /\d/;

            // Contiene el pedazo del texto que contiene el mes
            mestexto = texto.substr(0,3);
            // Contiene el pedazo de texto que contiene el primer numero del dia
            diatextonumero1 = texto.substr(4,1);
            diatextonumero2 = texto.substr(5,1);

            // Si el texo contiene un numero...
            if (hasNumber.test(diatextonumero2))
               {
                 dia = texto.substr(4,2);
                 anotexto = texto.substr(7,4);
               }
            else
               {
                 dia = texto.substr(4,1);
                 dia = "0"+ dia;
                 anotexto = texto.substr(6,4); 
               }


            switch (mestexto) 
            {
              case "Jan" : mesnumero = "01";
                           break;   

              case "Feb" : mesnumero = "02";
                           break;   

              case "Mar" : mesnumero = "03";
                           break;   

              case "Apr" : mesnumero = "04";
                           break;   

              case "May" : mesnumero = "05";
                           break;   

              case "Jun" : mesnumero = "06";
                           break;   

              case "Jul" : mesnumero = "07";
                           break;   

              case "Aug" : mesnumero = "08";
                           break;   

              case "Sep" : mesnumero = "09";
                           break;   

              case "Oct" : mesnumero = "10";
                           break;   

              case "Nov" : mesnumero = "11";
                           break;   

              case "Dec" : mesnumero = "12";
                           break;   

              default : break;

            }

            fechaformateada = anotexto + "-" + mesnumero + "-" + dia;           
            return fechaformateada;

        }       
1