Maison > interface Web > js tutoriel > le corps du texte

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

Patricia Arquette
Libérer: 2024-11-09 11:34:02
original
717 Les gens l'ont consulté

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";
}
Copier après la connexion

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"
Copier après la connexion

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal