Module: RiCal::CoreExtensions::Time::Conversions

Included in:
Time
Defined in:
lib/ri_cal/core_extensions/time/conversions.rb

Overview

  • ©2009 Rick DeNatale

  • All rights reserved. Refer to the file README.txt for the license

Instance Method Summary collapse

Instance Method Details

#to_dateObject

Converts a Time object to a Date, dropping hour, minute, and second precision.

my_time = Time.now  # => Mon Nov 12 22:59:51 -0500 2007
my_time.to_date     # => Mon, 12 Nov 2007

your_time = Time.parse("1/13/2009 1:13:03 P.M.")  # => Tue Jan 13 13:13:03 -0500 2009
your_time.to_date                                 # => Tue, 13 Jan 2009


37
38
39
# File 'lib/ri_cal/core_extensions/time/conversions.rb', line 37

def to_date
  ::Date.new(year, month, day)
end

#to_datetimeObject

Converts a Time instance to a Ruby DateTime instance, preserving UTC offset.

my_time = Time.now    # => Mon Nov 12 23:04:21 -0500 2007
my_time.to_datetime   # => Mon, 12 Nov 2007 23:04:21 -0500

your_time = Time.parse("1/13/2009 1:13:03 P.M.")  # => Tue Jan 13 13:13:03 -0500 2009
your_time.to_datetime                             # => Tue, 13 Jan 2009 13:13:03 -0500


54
55
56
# File 'lib/ri_cal/core_extensions/time/conversions.rb', line 54

def to_datetime
  ::DateTime.civil(year, month, day, hour, min, sec, Rational(utc_offset, 86400))
end

#to_ri_cal_date_time_value(timezone_finder = nil) ⇒ Object Also known as: to_ri_cal_date_or_date_time_value, to_ri_cal_occurrence_list_value

Return an RiCal::PropertyValue::DateTime representing the receiver



9
10
11
12
13
14
# File 'lib/ri_cal/core_extensions/time/conversions.rb', line 9

def to_ri_cal_date_time_value(timezone_finder = nil) #:nodoc:
  RiCal::PropertyValue::DateTime.new(
       timezone_finder, 
       :value => strftime("%Y%m%dT%H%M%S"), 
       :params => {"TZID" => self.tzid || :default})
end

#to_ri_cal_property_value(timezone_finder = nil) ⇒ Object

Return the natural ri_cal_property for this object



20
21
22
# File 'lib/ri_cal/core_extensions/time/conversions.rb', line 20

def to_ri_cal_property_value(timezone_finder = nil) #:nodoc:
  to_ri_cal_date_time_value(timezone_finder)
end

#to_timeObject

A method to keep Time, Date and DateTime instances interchangeable on conversions. In this case, it simply returns self.



43
44
45
# File 'lib/ri_cal/core_extensions/time/conversions.rb', line 43

def to_time
  self
end

#with_floating_timezoneObject

Return a copy of this object which will be interpreted as a floating time.



25
26
27
# File 'lib/ri_cal/core_extensions/time/conversions.rb', line 25

def with_floating_timezone
  dup.set_tzid(:floating)
end