Maison  >  Article  >  interface Web  >  Comment formater le temps écoulé en langage naturel en JavaScript ?

Comment formater le temps écoulé en langage naturel en JavaScript ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-09 11:34:02718parcourir

How to Format Time Elapsed in Natural Language in JavaScript?

Formatage du temps écoulé en langage naturel

Lors de l'affichage des horodatages, il peut être plus convivial d'exprimer le temps écoulé en langage naturel, tel que « il y a 4 minutes » au lieu de « 08/03/2023 14:05:03 ». Cet article montre comment formater les objets JavaScript Date de cette manière concise et lisible.

La fonction fournie, timeSince, calcule la différence entre la date actuelle et une date donnée. Il classe ensuite le temps écoulé en années, mois, jours, heures, minutes ou secondes en fonction du nombre de secondes écoulées.

function timeSince(date) {
  var seconds = Math.floor((new Date() - date) / 1000);

  var interval = seconds / 31536000;

  if (interval > 1) {
    return Math.floor(interval) + " years";
  }
  interval = seconds / 2592000;
  if (interval > 1) {
    return Math.floor(interval) + " months";
  }
  interval = seconds / 86400;
  if (interval > 1) {
    return Math.floor(interval) + " days";
  }
  interval = seconds / 3600;
  if (interval > 1) {
    return Math.floor(interval) + " hours";
  }
  interval = seconds / 60;
  if (interval > 1) {
    return Math.floor(interval) + " minutes";
  }
  return Math.floor(seconds) + " seconds";
}

Par exemple :

var aDay = 24 * 60 * 60 * 1000;
console.log(timeSince(new Date(Date.now() - aDay))); // "1 day ago"
console.log(timeSince(new Date(Date.now() - aDay * 2))); // "2 days ago"

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