ホームページ >ウェブフロントエンド >jsチュートリアル >経過時間をユーザーフレンドリーな形式で表示するにはどうすればよいですか?

経過時間をユーザーフレンドリーな形式で表示するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-09 09:51:02450ブラウズ

How to Display Time Elapsed in a User-Friendly Format?

ユーザーフレンドリーな形式で経過時間を表示する方法

Stack Exchange での時間表示と同様に、JavaScript の日付を文字列としてフォーマットできます特定の時点からの経過時間を示します。例:

  • 1 分前
  • 1 時間前
  • 1 日前
  • 1 か月前
  • 1 年ago

これを実現するには、以下のような関数を利用できます。

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

例として、1 日前の時刻を表す date を設定した場合 ( 24 時間)、関数は「1 日前」を返します。同様に、2 日前 (48 時間) 前の時刻を表す日付を設定すると、関数は「2 日前」を返します。

以上が経過時間をユーザーフレンドリーな形式で表示するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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