Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【Ruby3.x】Time::getlocal()メソッドの使い方

getlocalメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

getlocalメソッドは、Timeオブジェクトが保持する時刻情報を、システムのローカルタイムゾーンや指定されたタイムゾーンに変換し、新しいTimeオブジェクトを生成するメソッドです。

RubyのTimeオブジェクトは、内部的には協定世界時(UTC)からの経過秒数として時刻を保持しています。しかし、人間にとって理解しやすい形式で時刻を表示するためには、特定のタイムゾーンにおけるローカル時刻に変換する必要があります。getlocalメソッドは、このタイムゾーン変換の役割を担います。

引数なしでgetlocalを呼び出すと、レシーバであるTimeオブジェクトが表す時刻を、現在システムに設定されているローカルタイムゾーンの時刻として解釈し、そのタイムゾーン情報を持つ新しいTimeオブジェクトを返します。例えば、UTC時刻を表すTimeオブジェクトをgetlocalで処理すると、その時刻がシステムのローカルタイムゾーンでは何時何分であるかを示す新しいオブジェクトが得られます。

また、getlocalにはオプションで引数を渡すことができます。引数としてタイムゾーンのオフセット(UTCからの秒数)やタイムゾーン名(例: "Asia/Tokyo")を指定すると、その指定されたタイムゾーンに時刻を変換した新しいTimeオブジェクトを生成します。これにより、システムのローカルタイムゾーンに限らず、任意のタイムゾーンでの時刻表現を簡単に取得できます。

このメソッドは、データベースにUTCで保存された時刻をユーザーの居住地のローカル時刻で表示したい場合や、複数のタイムゾーンをまたぐシステムで時刻を正確に扱いたい場合に非常に有用です。元のTimeオブジェクトは変更されず、常に変換されたタイムゾーン情報を持つ新しいTimeオブジェクトが返されます。

構文(syntax)

1Time.now.getlocal

引数(parameters)

zone = nil

  • zone = nil: タイムゾーンを指定する文字列またはnil。nilを指定した場合、システムのローカルタイムゾーンが使用されます。

戻り値(return)

Time

指定されたタイムゾーン(ローカルタイムゾーン)における現在の時刻を表すTimeオブジェクトを返します。

関連コンテンツ

関連プログラミング言語