【Ruby3.x】Time::localtime()メソッドの使い方
localtimeメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
localtimeメソッドは、Timeオブジェクトが保持している時刻情報を、システムに設定されているローカルタイムゾーン(現地時間)に変換するメソッドです。
このメソッドは、呼び出し元のTimeオブジェクト自身のタイムゾーン情報を変更します。具体的には、レシーバーであるTimeオブジェクトが、UTC(協定世界時)や別の特定のタイムゾーンで表現されていた時刻を、プログラムが動作している環境のローカルタイムゾーンに基づいた時刻に変換し、自身の内部状態を更新します。そして、タイムゾーンが変更され更新されたTimeオブジェクト自身が返り値として返されます。
例えば、データベースにUTCで保存されている時刻データをユーザーの現地時間で表示したい場合や、現在のシステム時刻を現地時間に変換して処理を進めたい場合などに、このlocaltimeメソッドが役立ちます。タイムゾーンの異なる環境間で時刻データを扱うシステムでは、それぞれの環境に応じた正確な時刻表示や計算を行うために、localtimeメソッドのような変換機能が不可欠です。
同じTimeクラスには、時刻をUTCに変換するgmtimeメソッドやutcメソッドがありますが、localtimeメソッドはそれらとは逆に、時刻をローカルタイムゾーンに変換する役割を担っています。これにより、Timeオブジェクトの時刻表現を必要に応じて柔軟に切り替えることが可能になります。
構文(syntax)
1utc_time = Time.utc(2023, 1, 1, 12, 0, 0) 2local_time = utc_time.localtime
引数(parameters)
timezone = nil
- timezone: タイムゾーンを指定する文字列、またはnil。nilを指定した場合は、システムのデフォルトタイムゾーンが使用されます。
戻り値(return)
Time
指定されたローカルタイムゾーンにおける現在の時刻を表すTimeオブジェクトを返します。