class Time

Public Class Methods

mktime_with_offset(string) click to toggle source

returns a local time value much faster than Time.parse

# File lib/couchrest/mixins/typecast.rb, line 7
def self.mktime_with_offset(string)
  string =~ /(\d{4})[\-|\/](\d{2})[\-|\/](\d{2})[T|\s](\d{2}):(\d{2}):(\d{2})([\+|\s|\-])*(\d{2}):?(\d{2})/
  # $1 = year
  # $2 = month
  # $3 = day
  # $4 = hours
  # $5 = minutes
  # $6 = seconds
  # $7 = time zone direction
  # $8 = tz difference
  # utc time with wrong TZ info: 
  time = mktime($1, RFC2822_MONTH_NAME[$2.to_i - 1], $3, $4, $5, $6, $7)
  tz_difference = ("#{$7 == '-' ? '+' : '-'}#{$8}".to_i * 3600)
  time + tz_difference + zone_offset(time.zone) 
end