Heim >Web-Frontend >js-Tutorial >Detaillierte Erläuterung des Codes zum Konvertieren von Zeitstempeln in Zeitformate mithilfe von js
Dieser Artikel enthält eine detaillierte Erklärung des Codes zum Konvertieren von Zeitstempeln in das Zeitformat mit JS. Er hat einen gewissen Referenzwert und kann Ihnen helfen.
Während des Frontend-Entwicklungsprozesses ist es häufig erforderlich, Zeitstempel in ein Standardzeitformat zu konvertieren, damit Benutzer sie durchsuchen können. Wie kann man es schnell und gut implementieren, ohne eine Methodenbibliothek zu verwenden? Im Folgenden werden zwei Methoden vorgestellt.
Diese Methode wird grundsätzlich im täglichen Leben verwendet. Verwenden Sie die Datumsmethode, um Jahr, Monat, Tag, Stunde, Minute und Sekunde einzeln zu berechnen und sie dann zusammenzufügen die erforderliche Zeitformatzeichenfolge.
function transformTime(timestamp = +new Date()) { if (timestamp) { var time = new Date(timestamp); var y = time.getFullYear(); //getFullYear方法以四位数字返回年份 var M = time.getMonth() + 1; // getMonth方法从 Date 对象返回月份 (0 ~ 11),返回结果需要手动加一 var d = time.getDate(); // getDate方法从 Date 对象返回一个月中的某一天 (1 ~ 31) var h = time.getHours(); // getHours方法返回 Date 对象的小时 (0 ~ 23) var m = time.getMinutes(); // getMinutes方法返回 Date 对象的分钟 (0 ~ 59) var s = time.getSeconds(); // getSeconds方法返回 Date 对象的秒数 (0 ~ 59) return y + '-' + M + '-' + d + ' ' + h + ':' + m + ':' + s; } else { return ''; } } transformTime(); // "2018-8-8 12:9:12"
Die obige Konvertierungsmethode wandelt den Zeitstempel in eine Datumsinstanz um und verwendet die dem Datum entsprechende Methode, um das entsprechende Jahr, Monat, Tag, Stunde zu erhalten. Minute und Sekunde. Das erhaltene Zeitformat ist „2018-8-8 12:9:12“, sieht etwas umständlich aus. Um in unser häufig verwendetes Zeitformat zu konvertieren, müssen Sie auch darauf achten, die Zeichenfolge „0“ vor dem Wert unter 10 hinzuzufügen, um ihn in das Zeitformat „2018-08-08 12:09“ zu konvertieren: 12'.
function transformTime(timestamp = +new Date()) { if (timestamp) { var time = new Date(timestamp); var y = time.getFullYear(); var M = time.getMonth() + 1; var d = time.getDate(); var h = time.getHours(); var m = time.getMinutes(); var s = time.getSeconds(); return y + '-' + addZero(M) + '-' + addZero(d) + ' ' + addZero(h) + ':' + addZero(m) + ':' + addZero(s); } else { return ''; } } function addZero(m) { return m < 10 ? '0' + m : m; } transformTime(); // "2018-08-08 12:09:12"
Verarbeiten Sie den zurückgegebenen Zeitwert von weniger als 10 und fügen Sie mit der Methode „addZero“ „0“ zur Zeichenfolge hinzu, sodass das Format symmetrisch ist.
Um den Zeitstempel in das von uns benötigte Zeitformat umzuwandeln, haben wir zwei Funktionen geschrieben, die zusammen mehr als zehn Zeilen ergeben. Vor einiger Zeit hat mir der Abteilungsleiter eine andere Möglichkeit mitgeteilt, den Zeitstempel in ein Zeitformat in der Form „JJJJ-MM-TT HH:mm:ss“ umzuwandeln Nochmal, zeigen wir es. Die Methode „toJSON“ des Codes
function time(time = +new Date()) { var date = new Date(time + 8 * 3600 * 1000); // 增加8小时 return date.toJSON().substr(0, 19).replace('T', ' '); } time(); // "2018-08-09 18:25:54"
Date gibt die JSON-Formatzeichenfolge der Greenwich-Zeit zurück, die eigentlich das Ergebnis der Verwendung der Methode „toISOString“ ist. Die Zeichenfolge hat die Form „2018-08-09T10:20:54.396Z“. Für die Umrechnung in die Pekinger Zeit sind acht zusätzliche Zeitzonen erforderlich. Wir müssen die ersten 19 Ziffern der Zeichenfolge verwenden und „T“ durch Leerzeichen ersetzen Das heißt, wir brauchen ein Zeitformat.
function time(time = +new Date()) { var date = new Date(time + 8 * 3600 * 1000); return date.toJSON().substr(0, 19).replace('T', ' ').replace(/-/g, '.'); } time(); // "2018.08.09 18:25:54"
Sie können das „-“ im Zeitformat in „.“ oder andere Symbole ändern. Im Vergleich zur alten Methode spart diese Methode mehr als ein wenig Code als zuvor und ist viel einfacher zu lesen. Wenn das Zeitformat Millisekunden erfordert, müssen Sie nur die ersten 23 Ziffern der Zeichenfolge abrufen und sie wie oben mit der Ersetzungsmethode ersetzen.
Verwandte Empfehlungen:
So verschieben Sie das Dropdown-Menü in js (Code) nach links und rechts
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des Codes zum Konvertieren von Zeitstempeln in Zeitformate mithilfe von js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!