コード日進月歩

しんくうの技術的な小話、メモ、つれづれ、など

自然な言葉の時刻をparseするgem Chronic

wheneverの独特の書き方の元ネタ

gem

mojombo/chronic: Chronic is a pure Ruby natural language date parser.

できること

ActiveSupportとはひと味違った形で表現ができる。

基本は Chronic のクラスメソッド parse をつかってTimeクラスを生成する。

例えば 10:00am のような記述もできる。

Time.now
#=> "2019-11-01T14:30:12.070+00:00"
Chronic.parse('10:00am')
#=> "2019-11-01T10:00:00.000+00:00"

おかしな文字列だとnilになる

Chronic.parse('hogen')
#=> nil

GitHubのExampleに対応可能なものが書いてある

注意点

素のgemとしてつかうため、Railsで使っても何もしていないとTimeZoneの設定は反映されないので注意。使うときはタイムゾーンをしっかり設定すること

参考リンク