Webuilder240

Rubyで特定の時刻フォーマットの文字列をTime型に変換する

2020-06-21 13:30:15 +0900

Ruby
"DD/MM/YYYY" 形式の文字列をTime型に変換したいケースがあって、少し調べていてStackoverflowにズバリな答えがありました。

https://stackoverflow.com/questions/19643444/ruby-datetime-parsing-from-mm-dd-yyyy-format/19643536

この回答では、Date型なのですが、Time型にも同名の同じ役割のメソッドがありました。
https://docs.ruby-lang.org/ja/latest/method/Time/s/strptime.html

Time.strptime を使いましょうという感じで、具体的には下記のように使えばOK。
実はこのメソッドを知らなくて、はじめてつかったのですが、このサンプルの日付から推測すると昔からあるみたいです。
require 'time'
Time.strptime('2001-02-03T04:05:06+09:00', '%Y-%m-%dT%H:%M:%S%z')
#=> 2001-02-03 06:05:06 +090


関連しそうなブログ