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(); // 获取当前时间戳
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.
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
其中,toLocaleString()
方法接受两个参数:
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
其中,日期时间需要满足 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
这样,在第一次调用 getDatetime()
时,会进行时间戳转换操作,并将结果缓存到 datetime
rrreee
toLocaleString()
accepte deux paramètres :
zh-CN
pour représenter la Chine. Le format de l'heure varie en fonction de la région. {hour12 : false
signifie qu'au lieu d'utiliser l'horloge de 12 heures, utilisez l'horloge de 24 heures. 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!