ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScript で自然言語で経過時間をフォーマットするにはどうすればよいですか?

JavaScript で自然言語で経過時間をフォーマットするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-09 11:34:02719ブラウズ

How to Format Time Elapsed in Natural Language in JavaScript?

自然言語での経過時間の書式設定

タイムスタンプを表示する場合、経過時間を自然言語で表現するとより使いやすくなります。 「2023-03-08 14:05:03」の代わりに「4 分前」など。この記事では、簡潔で読みやすい方法で JavaScript Date オブジェクトを書式設定する方法を説明します。

提供された関数 timeSince は、現在の日付と指定された日付の差を計算します。次に、経過した秒数に基づいて、経過時間を年、月、日、時、分、または秒に分類します。

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";
}

例:

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"

以上がJavaScript で自然言語で経過時間をフォーマットするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。