RiCal::PropertyValue::DateTime::TimeMachine

 Methods for DateTime which support getting values at different point in time.

Public Instance Methods

at_end_of_iso_year(wkst) click to toggle source

Return a DATE_TIME value representing the same time on the last day of the ISO year with weeks starting on wkst containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 131
        def at_end_of_iso_year(wkst)
          num_weeks = @date_time_value.iso_weeks_in_year(wkst)
          at_start_of_iso_year(wkst).advance(:weeks => (num_weeks - 1), :days => 6)
        end
at_start_of_iso_year(wkst) click to toggle source

Return a DATE_TIME value representing the same time on the first day of the ISO year with weeks starting on wkst containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 124
        def at_start_of_iso_year(wkst)
          start_of_year = @date_time_value.iso_year_start(wkst)
          change(:year => start_of_year.year, :month => start_of_year.month, :day => start_of_year.day)
        end
at_start_of_next_iso_year(wkst) click to toggle source

Return a DATE_TIME value representing the same time on the first day of the ISO year with weeks starting on wkst after the ISO year containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 138
        def at_start_of_next_iso_year(wkst)
          num_weeks = @date_time_value.iso_weeks_in_year(wkst)
          at_start_of_iso_year(wkst).advance(:weeks => num_weeks)
        end
at_start_of_week_with_wkst(wkst) click to toggle source

Return a DATE-TIME property representing the receiver on a different day (if necessary) so that the result is the first day of the ISO week starting on the wkst day containing the receiver.

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 58
        def at_start_of_week_with_wkst(wkst)
          date = @date_time_value.start_of_week_with_wkst(wkst)
          change(:year => date.year, :month => date.month, :day => date.day)
        end
end_of_day() click to toggle source

Return a DATE_TIME value representing the last second of the day containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 88
        def end_of_day
          change(:hour => 23, :min => 59, :sec => 59)
        end
end_of_hour() click to toggle source

Return a DATE_TIME value representing the last second of the hour containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 78
        def end_of_hour
          change(:min => 59, :sec => 59)
        end
end_of_iso_year(wkst) click to toggle source

Return a DATE_TIME value representing the last second of the last day of the ISO year with weeks starting on wkst containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 145
        def end_of_iso_year(wkst)
          at_end_of_iso_year(wkst).end_of_day
        end
end_of_minute() click to toggle source

Return a DATE_TIME value representing the last second of the minute containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 68
        def end_of_minute
          change(:sec => 59)
        end
end_of_month() click to toggle source

Return a DATE_TIME value representing the last second of the month containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 108
        def end_of_month
          change(:day => days_in_month, :hour => 23, :min => 59, :sec => 59)
        end
end_of_week_with_wkst(wkst) click to toggle source

Return a DATE_TIME value representing the last second of the ISO week starting with wkst containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 98
        def end_of_week_with_wkst(wkst)
          date = at_start_of_week_with_wkst(wkst).advance(:days => 6).end_of_day
        end
end_of_year() click to toggle source

Return a DATE_TIME value representing the last second of the month containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 118
        def end_of_year
          change(:month => 12, :day => 31, :hour => 23, :min => 59, :sec => 59)
        end
in_month(month) click to toggle source

Return a DATE-TIME representing the same time, on the same day of the month in month. If the month of the receiver has more days than the target month the last day of the target month will be used.

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 152
        def in_month(month)
          first = change(:day => 1, :month => month)
          first.change(:day => [first.days_in_month, day].min)
        end
in_week_starting?(date) click to toggle source

Return a DATE-TIME property representing the receiver on a different day (if necessary) so that the result is within the 7 days starting with date

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 51
        def in_week_starting?(date)
          wkst_jd = date.jd
          @date_time_value.jd.between?(wkst_jd, wkst_jd + 6)
        end
start_of_day() click to toggle source

Return a DATE_TIME value representing the first second of the day containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 83
        def start_of_day
          change(:hour => 0, :min => 0, :sec => 0)
        end
start_of_hour() click to toggle source

Return a DATE_TIME value representing the first second of the hour containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 73
        def start_of_hour
          change(:min => 0, :sec => 0)
        end
start_of_minute() click to toggle source

Return a DATE_TIME value representing the first second of the minute containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 63
        def start_of_minute
          change(:sec => 0)
        end
start_of_month() click to toggle source

Return a DATE_TIME value representing the first second of the month containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 103
        def start_of_month
          change(:day => 1, :hour => 0, :min => 0, :sec => 0)
        end
start_of_week_with_wkst(wkst) click to toggle source

Return a Ruby Date representing the first day of the ISO week starting with wkst containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 93
        def start_of_week_with_wkst(wkst)
          @date_time_value.start_of_week_with_wkst(wkst)
        end
start_of_year() click to toggle source

Return a DATE_TIME value representing the first second of the month containing the receiver

# File lib/ri_cal/property_value/date_time/time_machine.rb, line 113
        def start_of_year
          change(:month => 1, :day => 1, :hour => 0, :min => 0, :sec => 0)
        end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.