2012-03-10 30 views
0

私は、Timeクラスには新しいTimeオブジェクトをインスタンス化するためのさまざまなメソッドがあることがわかります。新しいか.localかmktime ??ルビーのTime.new(年、月、日)とTime.local(年、月、日)の差

異なる名前で同じ実装を共有していますか?私は新しいコンストラクタ・メソッドは、デフォルトではnilに設定され、オプションのパラメータで表現されていること.localのとはmktimeなどの 他の方法は、すべての異なる符号 のための過負荷を持っている時間のためにRubyのドキュメントで参照

はあなたが持つことができないという理由だけでこれですRubyのコンストラクタのオーバーロード?

答えて

0

Time.mktimeは、Time.localの同義語で、指定した値に基づいて時間を作成します。 Time.newは、システムの時間値を使用してオブジェクトを作成します。

私は非常に有用であることがthisが見つかりました:

Time.new - >のatimeは現在 システム時刻に初期化Timeオブジェクトを返します。注:作成されたオブジェクトは、システムクロックで使用可能な解像度の を使用して作成されるため、 分数秒が含まれます。

Time.gm(年、月、日、分、秒、usec) - > aTime Time.gm(秒、分、時、日、月、日、 tz) - > aTime与えられた値に基づいて時間を作成し、UTC(GMT)として解釈します。 年を指定する必要があります。他の値のデフォルト値は、そのフィールドの最小値 です(ゼロまたは省略可能です)。月は、 の数字(1〜12)、または3文字の英国月の名前で指定できます。 時間は24時間制(0..23)で指定されます。値が範囲外の場合は、 ArgumentErrorを発生させます。また、時間#to_aによって出力された順序で引数 を受け入れます。 Time.local(年、月、日、時、分、秒、usec) - > aTime Time.local(秒、分、時、日、月、年、日、曜日、夏、夏、td) - > aTime Time.gmと同じですが、ローカルタイムゾーンの値を解釈します。

Time.mktime(年、月、日、分、秒、秒) - > aTime Time.localの同義語 。