Object
![show/hide quicksearch [+]](../images/find.png)
This class is important to handle XMLRPC dateTime.iso8601 values, correctly, because normal UNIX-dates, ie: Date, only handle dates from year 1970 on, and ruby's native Time class handles dates without the time component.
XMLRPC::DateTime is able to store a XMLRPC dateTime.iso8601 value correctly.
Creates a new XMLRPC::DateTime instance with the parameters year, month, day as date and hour, min, sec as time.
Raises an ArgumentError if a parameter is out of range, or if year is not of the Integer type.
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 84
def initialize(year, month, day, hour, min, sec)
  self.year, self.month, self.day = year, month, day
  self.hour, self.min, self.sec   = hour, min, sec
end
             
            Returns whether or not all date/time components are an array.
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 111
def ==(o)
  self.to_a == Array(o) rescue false
end
             
            Set value as the new date/time component.
Raises an ArgumentError if the given value isn't between 1 and 31.
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 43
def day=(value)
  raise ArgumentError, "date/time out of range" unless (1..31).include? value
  @day = value
end
             
            Set value as the new date/time component.
Raises an ArgumentError if the given value isn't between 0 and 24.
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 51
def hour=(value)
  raise ArgumentError, "date/time out of range" unless (0..24).include? value
  @hour = value
end
             
            Set value as the new date/time component.
Raises an ArgumentError if the given value isn't between 0 and 59.
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 59
def min=(value)
  raise ArgumentError, "date/time out of range" unless (0..59).include? value
  @min = value
end
             
            Set value as the new date/time component.
Raises an ArgumentError if the given value isn't between 1 and 12.
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 35
def month=(value)
  raise ArgumentError, "date/time out of range" unless (1..12).include? value
  @month = value
end
             
            Set value as the new date/time component.
Raises an ArgumentError if the given value isn't between 0 and 59.
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 67
def sec=(value)
  raise ArgumentError, "date/time out of range" unless (0..59).include? value
  @sec = value
end
             
            Returns all date/time components in an array.
Returns +[year, month, day, hour, min, sec]+.
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 106
def to_a
  [@year, @month, @day, @hour, @min, @sec]
end
             
            Return a Date object of the date which represents self.
The Date object do not contain the time component (only date).
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 99
def to_date
  Date.new(*to_a[0,3])
end
             
            Return a Time object of the date/time which represents self.
The timezone used is GMT.
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 92
def to_time
  Time.gm(*to_a)
end
             
            Set value as the new date/time component.
Raises ArgumentError if the given value is out of range, or in the case of XMLRPC::DateTime#year= if value is not of type Integer.
 
               # File xmlrpc-0.3.0/lib/xmlrpc/datetime.rb, line 27
def year=(value)
  raise ArgumentError, "date/time out of range" unless value.is_a? Integer
  @year = value
end