結論
-
Time#getlocal
は、Time オブジェクトを新しく生成して返す、非破壊的メソッド。 -
Time#localtime
は、元の Time オブジェクトを変更する、破壊的メソッド。
検証
- Ruby 2.3.1
[1] pry(main)> require 'time'
=> true
[2] pry(main)> Time.now.zone
=> "JST"
[3] pry(main)> t = Time.parse("Wed Aug 27 13:08:45 +0000 2008")
=> 2008-08-27 13:08:45 +0000
[4] pry(main)> t.getlocal
=> 2008-08-27 22:08:45 +0900 # Time#getlocal
[5] pry(main)> t.zone
=> nil # tはUTCのまま
[6] pry(main)> t.localtime
=> 2008-08-27 22:08:45 +0900 # Time#localtime
[7] pry(main)> t.zone
=> "JST" # tはJSTに変わっている