Wie konvertiert man eine Zeichenfolge eines Datums ohne Jahr in ein JS Date-Objekt? Und wie konvertiert man eine Datumszeichenkette mit einem Jahr und einer Uhrzeit in ein JS Date-Objekt?Javascript konvertieren "05/27 11:00 pm" bis heute?
Antwort
Viele verschiedene Datumsformate können nur, indem sie an den Date()
Konstruktor Datumsobjekte umgewandelt werden:
var date = new Date(datestring);
Ihr Beispiel Datum aus zwei Gründen nicht funktioniert. Erstens, es hat kein Jahr. Zweitens muss vor "pm" ein Leerzeichen stehen (ich bin mir nicht sicher warum).
// Wed May 27 2009 23:00:00 GMT-0700 (Pacific Daylight Time)
var date = new Date("2009/05/27 11:00 pm")
Wenn die Datumsformate die Sie erhalten konsistent sind, können sie auf diese Weise beheben:
var datestring = "05/27 11:00pm";
var date = new Date("2009/" + datestring.replace(/\B[ap]m/i, " $&"));
Ich habe das Dojo Zeit Parser zu tun, Dinge wie diese verwendet:
Check it out: http://api.dojotoolkit.org/jsdoc/HEAD/dojo.date.locale.parse
nicht das sauberste, aber funktioniert:
var strDate = '05/27 11:00pm';
var myDate = ConvertDate(strDate, '2009');
function ConvertDate(strWeirdDate, strYear)
{
strWeirdDate = strWeirdDate.replace(/ /, '/' + strYear + ' ');
return new Date(strWeirdDate);
}
wohl trimmen wollen string zuerst auch.
ich die Parse-Methode der Datejs Bibliothek verwenden würde.
Ich habe versucht, Ihr Beispiel und es funktionierte gut ...
27.05 23.00
Mittwoch, 27. Mai 2009 11.00.00
Ich schaute auf diese Möglichkeit, aber ich wollte nicht die gesamte datejs Bibliothek nur für diese eine Funktion enthalten. – Jared
Datejs ist nett, wenn Sie sehr wenig Kontrolle über Datumsformate haben (sagen wir, benutzerdefinierte Daten, Freitextdaten). Es ist nicht einmal so eine große Bibliothek, wenn Ihr Web-Host die Komprimierung unterstützt - nur etwa 7K gziped. –
Nur eine weitere Option, die ich schrieb:
Es hat eine Datum/Zeit-Analyse-Methode - übergeben Sie eine Maske und es wird die Eingabe validieren und ein Datenobjekt zurückgeben, wenn sie übereinstimmen.
Unterstützt auch Datum/Uhrzeit Formatierung, Datum Mathe (add/subtract Datum Teile), Datum zu vergleichen, Spezialität Datum Parsing, etc. Es ist liberal Open Source.
- 1. Javascript Zeit Zeichenfolge bis heute
- 2. Python konvertieren lange bis heute
- 3. Konvertieren von String bis heute
- 4. Konvertieren Sie Millisekunden bis heute (in Excel)
- 5. ASP: Millisekunden bis heute umwandeln
- 6. Convert String-Variable bis heute
- 7. Postgres Timestamp bis heute
- 8. MomentJS Umwandlung EPOC Millisekunde bis heute
- 9. R Lubridate Konvertierung Sekunden bis heute
- 10. Epoche bis heute auf mysql
- 11. AM/PM mit Javascript
- 12. Datumszeichenkette mit AM/PM zu Javascript date object konvertieren
- 13. Add 6 Monate bis heute, es ist größer als heute
- 14. Wurde Erlang R17 bis heute veröffentlicht?
- 15. Parsing Saite bis heute: Illegales Musterzeichen "T".
- 16. Datumsformatierung - Hinzufügen von Tagen bis heute
- 17. Excel - Hinzufügen von reinen Monaten bis heute
- 18. konvertieren SYSDATETIMEOFFSET(), um HH: MM AM/PM
- 19. Konvertieren AM/PM in Kleinbuchstaben in datepicker.js?
- 20. Python Frage: Jahr und Tag des Jahres bis heute?
- 21. konvertieren 24-Stunden-Zeit bis 12 Stunden und AM/PM-Anzeige Oracle SQL
- 22. sas date - Heute konvertieren() in yyyymmdd Format
- 23. Parse ISO8601 Datumszeichenkette bis heute mit UTC Timezone
- 24. konvertieren Millisekunden bis heute in Mongodb Aggregation Pipeline für die Gruppe von?
- 25. Konvertieren Datenbank Zeitstempel bis zum Datum
- 26. Warum ändert Math.Round() MidpointRounding nach Dezimal 1100
- 27. Wie bekommt man alle Tage einer Woche (beginnt von Montag) bis heute (heute)?
- 28. AM/PM zu TimeSpan
- 29. konvertieren @Build 3 bis Grails
- 30. Problem Parsing Zeichenfolge bis heute C# (von SQLite-Datenbank)
Parses ohne Leerzeichen zwischen Zeit und am/pm Indikator. Wie Ihre Lösung, nur Jahr am Anfang zu setzen. Einfacher. – Joe
Ich fragte mich, ob dieser Space JS-Engine-spezifisch sein könnte. Für den Datensatz wird meine Kopie von FF3 es ohne das Leerzeichen ("ungültiges Datum") nicht analysieren. –
Ich habe eine enge Kontrolle über das Format des Datums, also das ist genau das, was ich suchte – Jared