webentwicklung-frage-antwort-db.com.de

jQuery: Übergibt die Stringvariable an das Date-Objekt

Ich habe eine Seite mit einer Reihe von Variablen, die ein Datum im Zeichenfolgenformat (JJJJ-MM-TT) enthalten, das aus der Verwendung von moment.js stammt. 

Gibt es eine Möglichkeit, wie ich eine solche Variable an ein Javascript-Datumsobjekt übergeben kann? um es in ein Javascript-Datumsobjekt zu konvertieren? Ich interessiere mich nicht für die Zeit, solange das Datum in ein Datumsobjekt konvertiert werden kann, das großartig wäre. 

Ich habe folgendes versucht, aber das funktioniert nicht und ich habe mit moment.js keinen Weg gefunden: 

var newVar = new Date(dateVar);

Vielen Dank für jede Hilfe, Tim.

11
user2571510

vor allem werde ich sagen, sollte folgendes für Sie arbeiten .. 

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

wenn Sie oben sagen, dass nicht funktioniert, überprüfen Sie die unten stehende - 

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

für den Proof-Check das jsfiddle .. beide funktionieren gut .. JSFiddle

25
Deepak Sharma

console.log() wurde verwendet, um die Ausgabe anzuzeigen. Führen Sie dies aus, und Sie werden den Code verstehen

    <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

Um dieses Problem zu lösen, habe ich eine Funktion erstellt, die die Änderung vom Text zum Datum verwaltet:

Meine Beispiele funktionieren mit Datum wie folgt: 1. Juni 2016 bis 01. Juni 2016 Sie können die Funktion neu erstellen, damit Ihr Format funktioniert ...

Die Nullen auf der linken Seite der Zahlen werden hinzugefügt, um dem Datumstypformat zu entsprechen.

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;

        }