Class: W3cDatetime

Inherits:
Object
  • Object
show all
Defined in:
lib/w3c_datetime.rb

Class Method Summary collapse

Class Method Details

.get_timezone(timezone) ⇒ Object



11
12
13
# File 'lib/w3c_datetime.rb', line 11

def self.get_timezone(timezone)
  timezone || "+00:00"
end

.parse(date_str) ⇒ Object



2
3
4
5
6
7
8
9
# File 'lib/w3c_datetime.rb', line 2

def self.parse(date_str)
  date_regexp = /(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})(?:T(?<hour>\d{2}):(?<minute>\d{2}):?(?<second>\d{2})?\.?(?<milisecond>\d{1,2})?(?<timezone>.+)?)?/
  parsed = date_regexp.match(date_str)
  begin
    Time.new(parsed[:year].to_i, parsed[:month].to_i, parsed[:day].to_i, parsed[:hour].to_i, parsed[:minute].to_i, parsed[:second].to_i, self.get_timezone(parsed[:timezone])) unless parsed.nil?
  rescue ArgumentError, TypeError
  end
end