自然言語の日付、時間をパースする chronic gem を試す #ruby

## <i class="fa fa-clock-o" style="font-size:1em;"></i> 概要
自然言語の日付、時間をパースする chronic gem を試しました

## <i class="fa fa-cloud-download" style="font-size:1em;"></i> インストール

~~~bash
$ gem install chronic
~~~

## <i class="fa fa-flask" style="font-size:1em;"></i> サンプル
### サンプルコード

~~~ruby:chronic.rb
require 'tbpgr_utils'
require 'chronic'

bulk_puts_eval binding, <<-EOS
Time.now
Chronic.parse('now')
Chronic.parse('tomorrow')
Chronic.parse("2015-04-27T22:00:00")
Chronic.parse("2015-04-27 4am")
Chronic.parse("2015-04-27 4pm")
Chronic.parse("2015/04/27 4pm")
Chronic.parse("2015.04.27 4pm")
Chronic.parse("three days ago")
Chronic.parse("three days after")
Chronic.parse('sunday', :context => :past)
Chronic.parse('sunday', :context => :future)
Chronic.parse('this wednesday 5:00')
Chronic.parse('this wednesday 5:00', :ambiguous_time_range => :none)
Chronic.parse('may 24th')
Chronic.parse('may 24th', :now => Time.local(2000, 1, 1))
Chronic.parse('may 24th', :guess => false)
Chronic.parse('6/4/2015')
Chronic.parse('6/4/2015', :endian_precedence => :little)
Chronic.parse('INVALID DATE')
EOS

__END__
下記はTbpgrUtils gemの機能
bulk_puts_eval

https://rubygems.org/gems/tbpgr_utils
https://github.com/tbpgr/tbpgr_utils
~~~

* 出力確認

~~~bash
% ruby chronic.rb
Time.now                                                             # => 2015-04-27 22:34:17 +0900
Chronic.parse('now')                                                 # => 2015-04-27 22:34:17 +0900
Chronic.parse('tomorrow')                                            # => 2015-04-28 12:00:00 +0900
Chronic.parse("2015-04-27T22:00:00")                                 # => 2015-04-27 22:00:00 +0900
Chronic.parse("2015-04-27 4am")                                      # => 2015-04-27 04:00:00 +0900
Chronic.parse("2015-04-27 4pm")                                      # => 2015-04-27 16:00:00 +0900
Chronic.parse("2015/04/27 4pm")                                      # => 2015-04-27 16:00:00 +0900
Chronic.parse("2015.04.27 4pm")                                      # => 2015-04-27 16:00:00 +0900
Chronic.parse("three days ago")                                      # => 2015-04-24 22:34:17 +0900
Chronic.parse("three days after")                                    # => 2015-04-30 22:34:17 +0900
Chronic.parse('sunday', :context => :past)                           # => 2015-04-26 12:00:00 +0900
Chronic.parse('sunday', :context => :future)                         # => 2015-05-03 12:00:00 +0900
Chronic.parse('this wednesday 5:00')                                 # => 2015-04-29 17:00:00 +0900
Chronic.parse('this wednesday 5:00', :ambiguous_time_range => :none) # => 2015-04-29 05:00:00 +0900
Chronic.parse('may 24th')                                            # => 2015-05-24 12:00:00 +0900
Chronic.parse('may 24th', :now => Time.local(2000, 1, 1))            # => 2000-05-24 12:00:00 +0900
Chronic.parse('may 24th', :guess => false)                           # => 2015-05-24 00:00:00 +0900..2015-05-25 00:00:00 +0900
Chronic.parse('6/4/2015')                                            # => 2015-06-04 12:00:00 +0900
Chronic.parse('6/4/2015', :endian_precedence => :little)             # => 2015-04-06 12:00:00 +0900
Chronic.parse('INVALID DATE')                                        # => nil
~~~

## :memo: メモ
たぶん使うことはないだろう

## :books: 外部資料
* <i class="fa fa-external-link" style="font-size:1em;"></i> [chronic GitHub](https://github.com/mojombo/chronic)
* <i class="fa fa-external-link" style="font-size:1em;"></i> [chronic RubyGems](https://rubygems.org/gems/chronic)