949 Stimmen

Parsing einer Zeichenkette zu einem Datum in JavaScript

Wie kann ich in JavaScript eine Zeichenkette in ein Datumsobjekt umwandeln?

var st = "date in some format"
var dt = new Date();

var dt_st = // st in Date format, same as dt.

2voto

Adriano P Punkte 1747

Wenn Sie den Inhalt der Zeichenfolge vor der Konvertierung in das Datumsformat überprüfen müssen:

// Convert 'M/D/YY' to Date()
mdyToDate = function(mdy) {
  var d = mdy.split(/[\/\-\.]/, 3);

  if (d.length != 3) return null;

  // Check if date is valid
  var mon = parseInt(d[0]), 
      day = parseInt(d[1]),
      year= parseInt(d[2]);
  if (d[2].length == 2) year += 2000;
  if (day <= 31 && mon <= 12 && year >= 2015)
    return new Date(year, mon - 1, day);

  return null; 
}

1voto

taveras Punkte 465

ISO 8601-ähnliche Datumsangaben, so hervorragend der Standard auch sein mag, werden immer noch nicht weitgehend unterstützt.

Dies ist eine gute Quelle, um herauszufinden, welches Datumsformat Sie verwenden sollten:

http://dygraphs.com/date-formats.html

Ja, das bedeutet, dass Ihr Datumsring so einfach sein könnte wie im Gegensatz zu

"2014/10/13 23:57:52" anstelle von "2014-10-13 23:57:52"

1voto

S. Dre Punkte 448

Als Ergänzung zu den hier beschriebenen Möglichkeiten können Sie Ihr Datum mit new Date() und formatieren Sie es mit dem unglaublich nützlichen toLocaleDateString() Funktion

一例です。

console.log(new Date('1970-01-01').toLocaleDateString('es-ES')) // --> This will output '1/1/1970'

0voto

Kurenai Kunai Punkte 1826
var a = "13:15"
var b = toDate(a, "h:m")
//alert(b);
document.write(b);

function toDate(dStr, format) {
  var now = new Date();
  if (format == "h:m") {
    now.setHours(dStr.substr(0, dStr.indexOf(":")));
    now.setMinutes(dStr.substr(dStr.indexOf(":") + 1));
    now.setSeconds(0);
    return now;
  } else
    return "Invalid Format";
}

0voto

Fetra Punkte 9

Verwenden Sie diesen Code: (mein Problem wurde mit diesem Code gelöst)

function dateDiff(date1, date2){
var diff = {}                           // Initialisation du retour
var tmp = date2 - date1;

tmp = Math.floor(tmp/1000);             // Nombre de secondes entre les 2 dates
diff.sec = tmp % 60;                    // Extraction du nombre de secondes

tmp = Math.floor((tmp-diff.sec)/60);    // Nombre de minutes (partie entière)
diff.min = tmp % 60;                    // Extraction du nombre de minutes

tmp = Math.floor((tmp-diff.min)/60);    // Nombre d'heures (entières)
diff.hour = tmp % 24;                   // Extraction du nombre d'heures

tmp = Math.floor((tmp-diff.hour)/24);   // Nombre de jours restants
diff.day = tmp;

return diff;

}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X