Heim > Web-Frontend > Front-End-Fragen und Antworten > Javascript-Zeitstempel für Datum/Uhrzeit

Javascript-Zeitstempel für Datum/Uhrzeit

WBOY
Freigeben: 2023-05-15 19:38:06
Original
1083 Leute haben es durchsucht

JavaScript ist eine leistungsstarke Skriptsprache, die häufig in der Web-Frontend-Entwicklung und serverseitigen Programmierung verwendet wird. Das Konvertieren zwischen Zeitstempeln und Datumsangaben ist ein sehr häufiger Vorgang in JavaScript.

Ein Zeitstempel ist die Anzahl der Millisekunden seit dem 1. Januar 1970 um 00:00:00 UTC (koordinierte Weltzeit). In JavaScript können Sie den aktuellen Zeitstempel mit dem folgenden Code abrufen:

var timestamp = new Date().getTime(); // 获取当前时间戳
Nach dem Login kopieren

Zeitstempel sind jedoch nicht intuitiv und müssen zum menschlichen Verständnis häufig in ein Datum-Uhrzeit-Format konvertiert werden. JavaScript bietet mehrere Methoden zum Konvertieren zwischen Zeitstempeln und Datumsangaben. Im Folgenden stellen wir diese Methoden jeweils vor.

Zeitstempel in Datum und Uhrzeit konvertieren

Um den Zeitstempel in Datum und Uhrzeit zu konvertieren, können Sie die Methode toLocaleString() des Objekts Date verwenden. Diese Methode gibt eine auf der Ortszeit basierende Zeichenfolge im Format yyyy/MM/dd HH:mm:ss zurück. Der Code lautet wie folgt: Date 对象的 toLocaleString() 方法。这个方法会根据本地时间返回一个字符串,格式为 yyyy/MM/dd HH:mm:ss。代码如下:

var timestamp = 1626194523854; // 假设时间戳为 2021/07/14 12:15:23.854
var datetime = new Date(timestamp).toLocaleString('zh-CN', {hour12: false});
console.log(datetime); // 输出:2021/7/14 12:15:23
Nach dem Login kopieren

其中,toLocaleString() 方法接受两个参数:

  • 第一个参数指定地区(locale)代码,这里我们用 zh-CN 表示中国。根据地区不同,时间格式会有所不同。
  • 第二个参数以对象形式传入,用于设置日期时间的格式。{hour12: false} 表示不使用 12 小时制,而是使用 24 小时制。

这样,我们就成功将时间戳转换为了日期时间格式。

日期时间转时间戳

将日期时间转换为时间戳,可以使用 Date 对象的 getTime() 方法。该方法返回自 1970 年 1 月 1 日 00:00:00 UTC(协调世界时)以来的毫秒数。代码如下:

var datetime = '2021-07-14T12:15:23.854Z'; // 假设日期时间为 2021/07/14 12:15:23.854 UTC
var timestamp = new Date(datetime).getTime();
console.log(timestamp); // 输出:1626292523854
Nach dem Login kopieren

其中,日期时间需要满足 ISO 8601 标准格式,即 yyyy-MM-ddTHH:mm:ss.sssZ。在这个格式中,Z 表示时区为 UTC,也可以指定其他时区。

这样,我们就成功将日期时间转换为了时间戳。

性能考虑

虽然以上代码看起来简单易懂,但需要注意的是,每次创建 Date 对象会产生一定的性能开销,特别是在循环中或者频繁调用时。为了提高性能,我们可以使用一个小技巧,将时间戳缓存为一个变量,只在需要时进行转换,如下所示:

var timestamp = 1626194523854; // 假设时间戳为 2021/07/14 12:15:23.854
var datetime = null; // 初始值为 null,表示尚未转换
var getDatetime = function() {
  if (datetime === null) {
    datetime = new Date(timestamp).toLocaleString('zh-CN', {hour12: false});
  }
  return datetime;
};
console.log(getDatetime()); // 输出:2021/7/14 12:15:23
Nach dem Login kopieren

这样,在第一次调用 getDatetime() 时,会进行时间戳转换操作,并将结果缓存到 datetimerrreee

Unter diesen akzeptiert die Methode toLocaleString() zwei Parameter:

  • Der erste Parameter gibt den Regionscode (Gebietsschema) an, hier verwenden wir zh- CN bedeutet China. Das Zeitformat variiert je nach Region.
  • Der zweite Parameter wird als Objekt übergeben und dient zum Festlegen des Datums- und Uhrzeitformats. {hour12: false bedeutet, dass anstelle der 12-Stunden-Uhr die 24-Stunden-Uhr verwendet wird.
Auf diese Weise haben wir den Zeitstempel erfolgreich in das Datums- und Uhrzeitformat konvertiert. 🎜🎜Datumszeit in Zeitstempel🎜🎜Um Datum und Uhrzeit in Zeitstempel umzuwandeln, können Sie die Methode getTime() des Objekts Date verwenden. Diese Methode gibt die Anzahl der Millisekunden seit dem 1. Januar 1970 um 00:00:00 UTC (koordinierte Weltzeit) zurück. Der Code lautet wie folgt: 🎜rrreee🎜Unter diesen müssen Datum und Uhrzeit dem ISO 8601-Standardformat entsprechen, also yyyy-MM-ddTHH:mm:ss.sssZ. In diesem Format gibt Z an, dass die Zeitzone UTC ist, es können jedoch auch andere Zeitzonen angegeben werden. 🎜🎜Auf diese Weise haben wir Datum und Uhrzeit erfolgreich in einen Zeitstempel umgewandelt. 🎜🎜Überlegungen zur Leistung🎜🎜Obwohl der obige Code einfach und leicht zu verstehen aussieht, sollte beachtet werden, dass jedes Mal, wenn ein Date-Objekt erstellt wird, ein gewisser Leistungsaufwand entsteht, insbesondere in einer Schleife oder bei häufigem Anruf. Um die Leistung zu verbessern, können wir einen kleinen Trick anwenden, um den Zeitstempel als Variable zwischenzuspeichern und ihn nur bei Bedarf zu konvertieren, wie unten gezeigt: 🎜rrreee🎜Auf diese Weise beim ersten Aufruf von getDatetime() , wird der Zeitstempel-Konvertierungsvorgang ausgeführt und das Ergebnis wird in der Variablen datetime zwischengespeichert. Geben Sie bei nachfolgenden Aufrufen einfach das zwischengespeicherte Ergebnis direkt zurück. Dadurch werden wiederholte Zeitstempelkonvertierungsvorgänge vermieden und die Codeleistung verbessert. 🎜🎜Kurz gesagt, die Konvertierung zwischen Zeitstempel und Datum/Uhrzeit in JavaScript ist sehr wichtig und sehr verbreitet. Solange wir die richtige Konvertierungsmethode beherrschen und auf die Codeleistung achten, können wir verschiedene Zeitkonvertierungsanforderungen problemlos bewältigen. 🎜

Das obige ist der detaillierte Inhalt vonJavascript-Zeitstempel für Datum/Uhrzeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage