このプログラムでは、JavaScriptのDate
オブジェクトを使用して、タイムスタンプ(例えば1時間前)を「x時間前」などのわかりやすい形式で表示します。
目次
使用するメソッド: Date(), getTime()
JavaScriptのDate
オブジェクトを使用し、過去のタイムスタンプと現在の時刻を比較して「x時間前」の形式に変換します。
タイムスタンプをわかりやすい形式で表示するプログラム
以下のプログラムでは、1時間前のタイムスタンプを「1時間前」として表示しています。
HTMLとJavaScriptコード
<style>
body {
font-family: Arial, sans-serif;
line-height: 1.6;
padding: 20px;
}
pre {
background: #f4f4f4;
border-left: 3px solid #ccc;
padding: 10px;
margin: 20px 0;
}
</style>
<script>
// タイムスタンプを「x時間前」などの形式に変換する関数
function timeAgo(timestamp) {
const now = new Date();
const secondsAgo = Math.floor((now - timestamp) / 1000);
// 時間の区切り単位を定義
const intervals = {
年: 60 * 60 * 24 * 365,
月: 60 * 60 * 24 * 30,
週: 60 * 60 * 24 * 7,
日: 60 * 60 * 24,
時間: 60 * 60,
分: 60,
秒: 1
};
// 各単位で適切な時間経過を計算
for (const [unit, value] of Object.entries(intervals)) {
const interval = Math.floor(secondsAgo / value);
if (interval >= 1) {
return `${interval}${unit}前`;
}
}
return 'たった今';
}
// タイムスタンプを変換して表示
window.onload = function() {
const pastDate = new Date(new Date().getTime() - 3600000); // 1時間前の日時
const timeAgoResult = timeAgo(pastDate);
document.getElementById('timeAgoResult').textContent = timeAgoResult;
}
</script>
<h1>タイムスタンプをわかりやすい形式で表示する方法</h1>
<div id="timeAgoResult"></div>
プログラムの解説
このプログラムでは、timeAgo()
関数を使用して、タイムスタンプをわかりやすい形式に変換します。この関数は現在の時刻と過去のタイムスタンプを比較し、経過した時間を秒、分、時間、日、週、月、年の単位で表示します。
Dateオブジェクト メソッドの機能一覧
Dateオブジェクト メソッドの機能一覧 | JavaScript リファレンス
JavaScriptのDateオブジェクトは、日時を操作するために使用されるオブジェクトです。以下に、Dateオブジェクトのメソッドを種類ごとにアルファベット順にまとめています。 Dateオブジェクトのインスタンスメソッド メソッド名 説明と注意点 getDate() 日(1~31)を取得。 注意点: 月初や月末の値に...
Mathオブジェクト メソッドの機能一覧
Mathオブジェクト メソッドの機能一覧 | JavaScript リファレンス
JavaScriptのMathオブジェクトは、数学的な定数や関数を提供するオブジェクトで、静的メソッドのみを持ちます。以下に、Mathオブジェクトのメソッドをアルファベット順にまとめています。 Mathオブジェクトの静的メソッド メソッド名 説明と注意点 Math.abs(x) 数値の絶対値を返します。 注意点: 引数...