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.