Sha256: 1aed9da19585b6a3ca936f3397fd1e6ef6eaa68fa9160ac5f8b314b6422ca698

Contents?: true

Size: 500 Bytes

Versions: 2

Compression:

Stored size: 500 Bytes

Contents

require 'time'
DateTime.class_eval do
  #
  # Parses the time but never fails.
  # Return value is always in the UTC time zone.
  #
  # A flattened time -- a 12-digit YYYYmmddHHMMMSS -- is treated as a UTC
  # datetime.
  #
  def self.parse_safely dt
    begin
      if dt.to_s =~ /\A\d{12}Z?\z/
        parse(dt+'Z', true).utc
      else
        parse(dt, true).utc
      end
    rescue StandardError
      nil
    end
  end

  def self.parse_and_flatten str
    parse_safely(str).to_flat
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
wukong-1.4.11 lib/wukong/extensions/date_time.rb
wukong-1.4.10 lib/wukong/extensions/date_time.rb