Sha256: b1c1d52b7f7582170b8742314e03da50c9e7906a6d2e959d3efa6e1137abc571

Contents?: true

Size: 664 Bytes

Versions: 27

Compression:

Stored size: 664 Bytes

Contents

module ICU
  class Util

=begin rdoc

Parse dates into yyyy-mm-dd format, preferring European over US convention. Return nil on error.

  Util.parsedate('1955-11-09')       # => '1955-11-09'
  Util.parsedate('02/03/2009')       # => '2009-03-02'
  Util.parsedate('02/23/2009')       # => '2009-02-23'
  Util.parsedate('16th June 1986')   # => '1986-06-16'

=end

    def self.parsedate(date)
      date = date.to_s
      return nil unless date.match(/[1-9]/)
      date.sub!(/^([1-9]|0[1-9]|[12][0-9]|3[01])([^\d])([1-9]|0[1-9]|1[0-2])([^\d])/, '\3\2\1\4')
      begin
        Date.parse(date, true).to_s
      rescue
        return nil
      end
    end
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
sanichi-chess_icu-0.2.10 lib/util.rb
sanichi-chess_icu-0.2.5 lib/util.rb
sanichi-chess_icu-0.2.6 lib/util.rb
sanichi-chess_icu-0.2.7 lib/util.rb
sanichi-chess_icu-0.2.8 lib/util.rb
sanichi-chess_icu-0.2.9 lib/util.rb
sanichi-chess_icu-0.3.0 lib/util.rb
sanichi-chess_icu-0.3.1 lib/util.rb
sanichi-chess_icu-0.3.2 lib/util.rb
sanichi-chess_icu-0.3.3 lib/util.rb
sanichi-chess_icu-0.3.4 lib/util.rb
sanichi-chess_icu-0.3.5 lib/util.rb
sanichi-chess_icu-0.4.0 lib/util.rb
sanichi-chess_icu-0.4.1 lib/util.rb
sanichi-chess_icu-0.4.10 lib/util.rb
sanichi-chess_icu-0.4.2 lib/util.rb
sanichi-chess_icu-0.4.3 lib/util.rb
sanichi-chess_icu-0.4.4 lib/util.rb
sanichi-chess_icu-0.4.5 lib/util.rb
sanichi-chess_icu-0.4.6 lib/util.rb