Object
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/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/datetime.rb, line 117
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/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/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/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/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/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/datetime.rb, line 112
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/datetime.rb, line 105
def to_date
Date.new(*to_a[0,3])
end
Return a Time object of the date/time which represents self.
If the @year is below 1970, this method returns
nil, because Time cannot handle years below 1970.
The timezone used is GMT.
# File xmlrpc/datetime.rb, line 94
def to_time
if @year >= 1970
Time.gm(*to_a)
else
nil
end
end
Set value as the new date/time component.
Raises ArgumentError if the given value is out of range, or in
the case of #year= if
value is not of type Integer.
# File xmlrpc/datetime.rb, line 27
def year= (value)
raise ArgumentError, "date/time out of range" unless value.is_a? Integer
@year = value
end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.