JavaScriptは時間を扱うための強力な機能を提供しており、現在の時刻表示や時間ベースの機能をWebアプリケーションにシームレスに統合できます。このガイドでは、JavaScriptを使用して現在時刻を取得およびフォーマットする様々な方法を探ります。
目次
Date
オブジェクトを使用した現在時刻の取得
Date
オブジェクトはJavaScriptの時刻処理の基礎です。引数なしで新しいDate
オブジェクトを作成すると、現在の日時が返されます。しかし、特定の時刻コンポーネントを抽出する方が便利なことがよくあります。
const now = new Date();
const hours = now.getHours();
const minutes = now.getMinutes();
const seconds = now.getSeconds();
const milliseconds = now.getMilliseconds();
console.log(`Current time: ${hours}:${minutes}:${seconds}:${milliseconds}`);
getHours()
は0〜23の値を返すことに注意してください。フォーマットを改善しましょう。
function formatTime(time) {
return time.toString().padStart(2, '0'); //フォーマット改善
}
const formattedTime = `${formatTime(hours)}:${formatTime(minutes)}:${formatTime(seconds)}:${formatTime(milliseconds)}`;
console.log(`Formatted current time: ${formattedTime}`);
UTC時刻の扱い
UTC(協定世界時)は、サマータイムやタイムゾーンの影響を受けない時間標準です。UTC時刻には、getUTCHours()
、getUTCMinutes()
などを使用します。
const nowUTC = new Date();
const utcHours = nowUTC.getUTCHours();
const utcMinutes = nowUTC.getUTCMinutes();
const utcSeconds = nowUTC.getUTCSeconds();
const utcMilliseconds = nowUTC.getUTCMilliseconds();
console.log(`Current time in UTC: ${utcHours}:${utcMinutes}:${utcSeconds}:${utcMilliseconds}`);
ローカル時刻の表示
ユーザーフレンドリーなローカル時刻表現には、toLocaleTimeString()
を使用します。
const nowLocal = new Date();
const localTimeString = nowLocal.toLocaleTimeString();
console.log(`Current time in local format: ${localTimeString}`);
これは、ユーザーのロケールとタイムゾーンに自動的に調整されます。
時刻フォーマットのカスタマイズ
toLocaleTimeString()
は、オプションを使用して広範なカスタマイズを提供します。
const options = { hour: 'numeric', minute: 'numeric', second: 'numeric', hour12: true };
const formattedLocalTime = nowLocal.toLocaleTimeString('en-US', options);
console.log(`Formatted local time: ${formattedLocalTime}`);
完全なオプションについては、toLocaleTimeString()
のMDNドキュメントを参照してください。
これらのテクニックを習得することで、様々な表示と機能のニーズに対応し、JavaScriptアプリケーション内で時間を効果的に管理できます。