Maison  >  Article  >  interface Web  >  Explication détaillée du code pour convertir l'horodatage au format d'heure à l'aide de js

Explication détaillée du code pour convertir l'horodatage au format d'heure à l'aide de js

不言
不言original
2018-08-13 17:30:201664parcourir

Cet article vous apporte une explication détaillée du code pour convertir l'horodatage au format d'heure à l'aide de js. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Pendant le processus de développement front-end, il est souvent nécessaire de convertir les horodatages au format d'heure standard pour que les utilisateurs puissent les parcourir. Comment l’implémenter rapidement et bien sans utiliser de bibliothèque de méthodes ? Deux méthodes sont présentées ci-dessous.

Ancienne méthode

Cette méthode est essentiellement utilisée dans la vie quotidienne. Utilisez la méthode Date pour calculer l'année, le mois, le jour, l'heure, la minute et la seconde un par un, puis assemblez-les. la chaîne de format d’heure requise.

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"

Version améliorée de l'ancienne méthode

La méthode de conversion ci-dessus convertit l'horodatage en une instance Date et utilise la méthode correspondant à Date pour obtenir l'année, le mois, le jour correspondants. heure, minute et seconde, et obtenez l'heure. Le format est « 2018-8-8 12:9:12 », ce qui semble un peu gênant. Afin de convertir vers notre format d'heure couramment utilisé, vous devez également faire attention à ajouter la chaîne « 0 » devant la valeur inférieure à 10 pour la convertir au format d'heure « 2018-08-08 12:09 » : 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"

Traitez la valeur temporelle renvoyée inférieure à 10 et utilisez la méthode 'addZero' pour ajouter '0' à la chaîne, afin que le format soit symétrique.

Nouvelles idées

Afin de convertir l'horodatage au format d'heure dont nous avons besoin, nous avons écrit deux fonctions, totalisant plus de dix lignes. Il y a quelque temps, le chef du département m'a informé d'une autre méthode. Une ligne de code convertit l'horodatage au format 'AAAA-MM-JJ HH:mm:ss'. Le code a été immédiatement beaucoup rationalisé. plus loin, montrons-le. La méthode 'toJSON' du code

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 renvoie la chaîne au format JSON de Greenwich Time, qui est en fait le résultat de l'utilisation de la méthode 'toISOString'. La chaîne a la forme « 2018-08-09T10:20:54.396Z ». La conversion à l'heure de Pékin nécessite huit fuseaux horaires supplémentaires. Nous devons prendre les 19 premiers chiffres de la chaîne et remplacer « T » par des espaces. c'est-à-dire que nous avons besoin du format horaire.

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"

Vous pouvez remplacer le « - » dans le format de l'heure par « . » ou d'autres symboles. Par rapport à l’ancienne méthode, cette méthode permet d’économiser plus d’un petit peu de code qu’auparavant et elle est beaucoup plus simple à lire. Si le format de l'heure nécessite des millisecondes, il vous suffit d'obtenir les 23 premiers chiffres de la chaîne et de les remplacer par la méthode de remplacement comme ci-dessus.

Recommandations associées :

Comment exporter et importer Excel à l'aide de js ? Comment importer et exporter Excel en utilisant js (code pur)

Comment déplacer le menu déroulant vers la gauche et la droite dans js (code)

Comment utiliser le timing setInterval dans la méthode js Device pour implémenter un graphique carrousel (code complet)

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!

Déclaration:
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