Ich speichere Zeit in einer MySQL-Datenbank als Unix-Zeitstempel und das wird an einige JavaScript-Code gesendet. Wie würde ich nur die Zeit aus es bekommen?
Zum Beispiel, in HH/MM/SS
Format.
Ich speichere Zeit in einer MySQL-Datenbank als Unix-Zeitstempel und das wird an einige JavaScript-Code gesendet. Wie würde ich nur die Zeit aus es bekommen?
Zum Beispiel, in HH/MM/SS
Format.
Ich habe eine Vorliebe für Jacob Wrights Date.format()
Bibliothek, die die JavaScript-Datumsformatierung im Stil von PHPs date()
Funktion.
new Date(unix_timestamp * 1000).format('h:i:s')
Ich weiß, es war gute Antwort zurück in eine Tage, aber in diesen Tagen erweitern native JS-Objekte ist ein Anti-Pattern.
Es funktioniert nicht (mehr?) in node js format is not a function
. Aber das funktioniert offenbar: stackoverflow.com/a/34015511/7550772
Wenn ich dies mit PHP unix timestamps verwende, erhalte ich aus irgendeinem Grund +5h als die tatsächliche Zeit :/
Ich würde darüber nachdenken, eine Bibliothek wie momentjs.com Das macht die Sache wirklich einfach:
Basierend auf einem Unix-Zeitstempel:
var timestamp = moment.unix(1293683278);
console.log( timestamp.format("HH/mm/ss") );
Basierend auf einem MySQL-Datumsstring:
var now = moment("2010-10-10 12:03:15");
console.log( now.format("HH/mm/ss") );
Ein weiterer Vorteil von moment.js (oder ähnlichen Bibliotheken) wäre die Unterstützung von relative Zeit für Meldungen wie "vor 6 Stunden".
In Ihrem console.log
Beispiele, ich war verwirrt über das Format aufgrund der /
aber es hat mir sehr geholfen.
Mein Zeitstempel ist im UTC-Format. Muss ich hier irgendetwas ändern, um das zu erreichen? Wie kann ich am/pm haben?
Dies funktioniert mit PHP-Zeitstempeln
var d = 1541415288860;
//var d =val.timestamp;
//NB: use + before variable name
var date = new Date(+d);
console.log(d);
console.log(date.toDateString());
console.log(date.getFullYear());
console.log(date.getMinutes());
console.log(date.getSeconds());
console.log(date.getHours());
console.log(date.toLocaleTimeString());
var d =val.timestamp;
var date=new Date(+d); //NB: use + before variable name
console.log(d);
console.log(date.toDateString());
console.log(date.getFullYear());
console.log(date.getMinutes());
console.log(date.getSeconds());
console.log(date.getHours());
console.log(date.toLocaleTimeString());
die oben genannten Methoden führen zu folgenden Ergebnissen
1541415288860
Mon Nov 05 2018
2018
54
48
13
1:54:48 PM
Es gibt eine Reihe von Methoden, die perfekt mit Zeitstempeln funktionieren. Cant Liste sie alle
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.
25 Stimmen
Multiplizieren Sie einfach mit 1000, da JS-Zeitstempel in Millisekunden und PHP in Sekunden angegeben sind.
1 Stimmen
Hier ist ein sehr nützlicher Link mit verschiedenen Datumsformaten: timestamp.online/article/ Kombinieren Sie das mit der Multiplikation mit 1000 und Sie haben den Job erledigt!
0 Stimmen
Sehen Sie hier, was ich erreicht habe: stackoverflow.com/a/64089456/2927228
0 Stimmen
Wenn Sie eine Zeichenfolge in einem anderen Datumsformat haben, siehe Parsing einer Zeichenkette zu einem Datum in JavaScript .
0 Stimmen
dt=new Date(1234567890 * 1000).toLocaleString();
ergibt Datum+Zeit - oder verwenden Sie.toLocaleDateString()
o.toLocaleTimeString()
)