【JS応用|初心者向け】JavaScriptで時刻をサクッと取得!Date.prototype.toTimeStringの使い方を解説

1. 導入: なぜこの機能が必要なのか

Webサイトを作っていると、「現在の時刻を画面に表示したい」「ログにタイムスタンプを残したい」という場面によく遭遇します。JavaScriptには日付を扱うDateオブジェクトがありますが、そのまま使うと非常に長い文字列になってしまい、扱いにくいことがあります。そんな時に便利なのが、Date.prototype.toTimeStringです。このメソッドを使えば、複雑な日付情報の中から「時刻部分だけ」を簡単に取り出し、人間が読みやすい形式に変換できます。

2. 基礎知識: Dateオブジェクトとメソッドについて

JavaScriptのDateオブジェクトは、日時を保持するための専用の仕組みです。Dateオブジェクトを作成すると、年・月・日・時・分・秒・ミリ秒など、あらゆる情報が詰め込まれた状態になります。
toTimeStringは、その中から「時・分・秒」および「タイムゾーン情報」を文字列として抽出する機能を持つメソッドです。これを使うことで、わざわざ自分で文字列を切り出す処理を書かなくても、標準的な形式で時刻を取得できます。

3. 実装/解決策: 具体的な手順

使い方は非常にシンプルです。日付を保持しているDateインスタンスに対して、ドットでつなげて呼び出すだけです。
具体的には、以下の手順で行います。
1. new Date() で現在時刻を取得する。
2. その変数に対して .toTimeString() を実行する。
これだけで、「14:30:00 GMT+0900 (日本標準時)」のような文字列が返ってきます。

4. サンプルプログラム

以下のコードをコピーして、ブラウザのコンソールやVS Codeなどのエディタで実行してみてください。

// 現在の日時を取得
const now = new Date();

// toTimeStringを使用して時刻文字列を取得
const timeString = now.toTimeString();

// コンソールに表示して結果を確認
console.log("取得した時刻文字列: " + timeString);

// もし「時:分」だけが必要な場合、文字列を加工することも可能です
const shortTime = timeString.substring(0, 5);
console.log("時分のみ抽出: " + shortTime);

5. 応用・注意点: 現場で役立つポイント

注意点:
toTimeStringで得られる形式は、実行しているブラウザやOSの環境(ロケール)によって、タイムゾーンの表記などが微妙に異なる場合があります。サーバーとクライアントで表示を完全に一致させたい場合は、このメソッドの結果をそのまま使うのではなく、ライブラリ(date-fnsやDay.jsなど)を使用するか、Intl.DateTimeFormatオブジェクトを使ってフォーマットを固定することをおすすめします。

現場のTips:
「時・分・秒」以外の情報が不要な場合は、上記のサンプルコードのようにsubstringやsplitを使って加工するのが定石です。また、ユーザーの言語設定に依存しない厳密な形式が必要な場合は、.toISOString() を使って協定世界時(UTC)を取得し、そこからオフセットを計算する手法もよく使われます。まずはこのメソッドで「時刻を取得する感覚」を掴んでみてください。

タイトルとURLをコピーしました