horodatage javascript à datetime

WBOY
Libérer: 2023-05-15 19:38:06
original
1080 Les gens l'ont consulté

JavaScript est un langage de script puissant largement utilisé dans le développement Web front-end et la programmation côté serveur. La conversion entre horodatages et dates-heures est une opération très courante en JavaScript.

Un horodatage est le nombre de millisecondes depuis le 1er janvier 1970 00:00:00 UTC (Temps universel coordonné). En JavaScript, vous pouvez obtenir l'horodatage actuel avec le code suivant :

var timestamp = new Date().getTime(); // 获取当前时间戳
Copier après la connexion

Cependant, les horodatages ne sont pas intuitifs et doivent souvent être convertis en un format datetime pour la compréhension humaine. JavaScript fournit plusieurs méthodes de conversion entre les horodatages et les dates-heures. Ci-dessous, nous présentons respectivement ces méthodes.

Horodatage en date heure

Pour convertir l'horodatage en date heure, vous pouvez utiliser le toLocaleString()</ de l'objet <code>Date code > méthode. Cette méthode renverra une chaîne basée sur l'heure locale au format aaaa/MM/jj HH:mm:ss. Le code est le suivant : 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
Copier après la connexion

其中,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
Copier après la connexion

其中,日期时间需要满足 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
Copier après la connexion

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

Parmi eux, la méthode toLocaleString() accepte deux paramètres :

  • Le premier paramètre précise la région (locale) code , nous utilisons ici zh-CN pour représenter la Chine. Le format de l'heure varie en fonction de la région.
  • Le deuxième paramètre est transmis en tant qu'objet et est utilisé pour définir le format de la date et de l'heure. {hour12 : false signifie qu'au lieu d'utiliser l'horloge de 12 heures, utilisez l'horloge de 24 heures.
De cette façon, nous avons réussi à convertir l'horodatage au format date et heure. #🎜🎜##🎜🎜#Date time to timestamp#🎜🎜##🎜🎜#Pour convertir la date time en timestamp, vous pouvez utiliser getTime()de l'objet Date > méthode. Cette méthode renvoie le nombre de millisecondes depuis le 1er janvier 1970 00:00:00 UTC (temps universel coordonné). Le code est le suivant : #🎜🎜#rrreee#🎜🎜# Parmi eux, la date et l'heure doivent respecter le format standard ISO 8601, c'est-à-dire aaaa-MM-jjTHH:mm:ss.sssZ code>. Dans ce format, <code>Z indique que le fuseau horaire est UTC, mais d'autres fuseaux horaires peuvent également être spécifiés. #🎜🎜##🎜🎜#De cette façon, nous avons réussi à convertir la date et l'heure en horodatage. #🎜🎜##🎜🎜#Considérations sur les performances#🎜🎜##🎜🎜#Bien que le code ci-dessus semble simple et facile à comprendre, il convient de noter que chaque fois qu'un objet Date est créé, il produira une certaine quantité de performances Overhead, en particulier dans une boucle ou lorsqu'il est appelé fréquemment. Pour améliorer les performances, nous pouvons utiliser une petite astuce pour mettre en cache l'horodatage en tant que variable et le convertir uniquement en cas de besoin, comme indiqué ci-dessous : #🎜🎜#rrreee#🎜🎜#De cette façon, lors du premier appel à getDatetime (), l'opération de conversion d'horodatage sera effectuée et le résultat sera mis en cache dans la variable datetime. Lors des appels suivants, renvoyez simplement le résultat mis en cache directement. Cela évite les opérations répétées de conversion d’horodatage et améliore les performances du code. #🎜🎜##🎜🎜#En bref, la conversion entre timestamp et datetime en JavaScript est très importante et très courante. Tant que nous maîtrisons la bonne méthode de conversion et prêtons attention aux performances du code, nous pouvons facilement faire face aux différents besoins de conversion de temps. #🎜🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal