Ich speichere Zeit in einer MySQL-Datenbank als Unix-Zeitstempel und diese wird an einen JavaScript-Code gesendet. Wie würde ich nur die Zeit daraus machen?
Zum Beispiel im HH / MM / SS-Format.
javascript
date
time
date-format
time-format
Roflwaffel
quelle
quelle
Antworten:
Weitere Informationen zum Date-Objekt finden Sie in MDN oder in der ECMAScript 5-Spezifikation .
quelle
quelle
var min = a.getMinutes() < 10 ? '0' + a.getMinutes() : a.getMinutes(); var sec = a.getSeconds() < 10 ? '0' + a.getSeconds() : a.getSeconds();
getMonth()
Gibt eine Monatszahl zwischen 0 und 11 zurück, ist alsoa.getMonth() - 1
falsch.JavaScript funktioniert in Millisekunden, daher müssen Sie zuerst den UNIX-Zeitstempel von Sekunden in Millisekunden konvertieren.
quelle
Ich bin Teil der
Date.format()
Bibliothek von Jacob Wright , die die JavaScript-Datumsformatierung im Stil der PHP-date()
Funktion implementiert .quelle
format is not a function
. Aber das funktioniert anscheinend: stackoverflow.com/a/34015511/7550772Verwenden:
und für die Zeit:
siehe Date.prototype.toLocaleDateString ()
quelle
toLocaleString
umfasst sowohl Datum und Uhrzeit.Hier ist die kürzeste Einzeiler-Lösung zum Formatieren von Sekunden wie folgt
hh:mm:ss
:Hinweis: Diese Lösung erfordert keine Bibliotheken von Drittanbietern und wird in allen modernen Browsern und JavaScript-Engines unterstützt.
quelle
toTimeString
arbeiteten nicht gut mit Zeitzonen. Leider wurde Ihre Bearbeitung abgelehnt, bevor ich sie sah. Ich würde jedoch empfehlen,toISOString
stattdessen zu verwenden , da diestoGMTString
veraltet ist und möglicherweise unterschiedliche Ergebnisse auf verschiedenen Plattformen zurückgibt.Ich würde darüber nachdenken, eine Bibliothek wie momentjs.com zu verwenden , was das wirklich einfach macht:
Basierend auf einem Unix-Zeitstempel:
Basierend auf einer MySQL-Datumszeichenfolge:
quelle
console.log
Beispielen war ich aufgrund des Formats verwirrt/
, aber es hat mir sehr geholfen.Der UNIX-Zeitstempel ist die Anzahl der Sekunden seit 00:00:00 UTC am 1. Januar 1970 (laut Wikipedia) ).
Das Argument des Datumsobjekts in Javascript ist die Anzahl der Millisekunden seit 00:00:00 UTC am 1. Januar 1970 (gemäß der Javascript-Dokumentation von W3Schools ).
Siehe Code unten zum Beispiel:
gibt:
quelle
kürzeste einzeilige Lösung zum Formatieren von Sekunden als hh: mm: ss: Variante:
quelle
Mit Moment.js können Sie Uhrzeit und Datum wie folgt abrufen :
Und Sie können nur Zeit damit bekommen:
quelle
Das Problem bei den oben genannten Lösungen ist, dass wenn Stunde, Minute oder Sekunde nur eine Ziffer (dh 0-9) hat, die Zeit falsch wäre, z. B. könnte sie 2: 3: 9 sein, aber es sollte eher 02: sein. 03.09.
Laut dieser Seite scheint es eine bessere Lösung zu sein, die "toLocaleTimeString" -Methode von Date zu verwenden.
quelle
date.toLocaleTimeString()
toTimeString
Methode wird es nicht passieren . Überprüfen Sie hier: stackoverflow.com/a/35890537/1249581 .Ein anderer Weg - ab einem ISO 8601- Datum.
quelle
Im Moment müssen Sie den Unix-Zeitstempel verwenden:
quelle
Basierend auf der Antwort von @ shomrat ist hier ein Ausschnitt, der automatisch die Uhrzeit wie diese schreibt (ein bisschen ähnlich dem Datum für Antworten von StackOverflow :)
answered Nov 6 '16 at 11:51
:oder
oder (wenn anders, aber im selben Jahr als heute)
oder (wenn ein anderes Jahr als heute)
quelle
Die moderne Lösung, die keine 40-KB-Bibliothek benötigt:
Intl.DateTimeFormat ist die nicht kulturell imperialistische Methode zum Formatieren von Datum und Uhrzeit.
quelle
Mein Zeitstempel wird von einem PHP-Backend abgerufen. Ich habe alle oben genannten Methoden ausprobiert und es hat nicht funktioniert. Ich bin dann auf ein Tutorial gestoßen, das funktioniert hat:
Die oben genannten Methoden erzeugen diese Ergebnisse
Es gibt eine Reihe von Methoden, die perfekt mit Zeitstempeln funktionieren. Ich kann sie nicht alle auflisten
quelle
quelle
Achten Sie bei einigen Antworten auf das Null-Problem. Zum Beispiel
1439329773
würde der Zeitstempel fälschlicherweise in konvertiert12/08/2015 0:49
.Ich würde vorschlagen, Folgendes zu verwenden, um dieses Problem zu beheben:
Jetzt ergibt sich:
quelle
quelle
quelle
Siehe Datums- / Epochenkonverter .
Sie müssen
ParseInt
, sonst würde es nicht funktionieren:quelle
Mit der folgenden Funktion können Sie Ihren Zeitstempel in ein
HH:MM:SS
Format konvertieren:Ohne ein Trennzeichen zu übergeben, wird es
:
als (Standard-) Trennzeichen verwendet:Wenn Sie
/
als Trennzeichen verwenden möchten , übergeben Sie es einfach als zweiten Parameter:Demo
Siehe auch diese Geige .
quelle
quelle
Wenn Sie die Unix-Zeitdauer in echte Stunden, Minuten und Sekunden konvertieren möchten, können Sie den folgenden Code verwenden:
quelle
quelle
Der folgende Code enthält auch dreistellige Millisekunden, ideal für Konsolenprotokollpräfixe:
quelle
moment.js
https://momentjs.com/
quelle
day.js
github.com/iamkun/dayjsDie Antwort von @Aron funktioniert, aber sie hat bei mir nicht funktioniert, da ich versucht habe, den Zeitstempel ab 1980 zu konvertieren. Daher habe ich einige Änderungen wie folgt vorgenommen
Wenn Sie also einen Zeitstempel ab einem weiteren Jahrzehnt haben, verwenden Sie diesen einfach. Es hat mir viel Kopfschmerzen erspart.
quelle