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.
UNIX-Zeitstempel ist Nummer von Sekunden seit 00:00:00 UTC am 1. Januar 1970 (laut Wikipedia ).
Argument des Date-Objekts in Javascript ist die Anzahl der Milisekunden seit 00:00:00 UTC am 1. Januar 1970 (laut W3Schools Javascript-Dokumentation ).
Siehe nachstehenden Code als Beispiel:
function tm(unix_tm) {
var dt = new Date(unix_tm*1000);
document.writeln(dt.getHours() + '/' + dt.getMinutes() + '/' + dt.getSeconds() + ' -- ' + dt + '<br>');
}
tm(60);
tm(86400);
gibt:
1/1/0 -- Thu Jan 01 1970 01:01:00 GMT+0100 (Central European Standard Time)
1/0/0 -- Fri Jan 02 1970 01:00:00 GMT+0100 (Central European Standard Time)
Verwendung von Moment.js können Sie Uhrzeit und Datum wie folgt abrufen:
var dateTimeString = moment(1439198499).format("DD-MM-YYYY HH:mm:ss");
Und Sie können damit nur Zeit gewinnen:
var timeString = moment(1439198499).format("HH:mm:ss");
Hallo Kemat, Sie können dies mit folgender Anweisung tun moment('2009-07-15 00:00:00').unix()
Mein Zeitstempel ist im UTC-Format. Muss ich hier irgendeinen Unterschied machen? Wie kann ich am/pm haben?
Das Problem bei den oben genannten Lösungen ist, dass wenn Stunde, Minute oder Sekunde nur eine Ziffer (d.h. 0-9) haben, die Zeit falsch wäre, z.B. könnte es 2:3:9 sein, aber es sollte eher 02:03:09 sein.
Selon このページ scheint es eine bessere Lösung zu sein, die Methode "toLocaleTimeString" von Date zu verwenden.
Für die meisten Weblösungen ist dies die korrekteste Antwort, da sie das Gebietsschema des Clients verwendet, z.B. 24h vs. 12h am/pm Format. Für einen Zeitstring würden Sie dann verwenden: date.toLocaleTimeString()
Dies wird nicht geschehen mit toTimeString
Methode. Sehen Sie hier nach: stackoverflow.com/a/35890537/1249581 .
function getTIMESTAMP() {
var date = new Date();
var year = date.getFullYear();
var month = ("0" + (date.getMonth() + 1)).substr(-2);
var day = ("0" + date.getDate()).substr(-2);
var hour = ("0" + date.getHours()).substr(-2);
var minutes = ("0" + date.getMinutes()).substr(-2);
var seconds = ("0" + date.getSeconds()).substr(-2);
return year + "-" + month + "-" + day + " " + hour + ":" + minutes + ":" + seconds;
}
//2016-01-14 02:40:01
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()
)