Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # NOTE: line 7 fixes bug in original version
- class TimeSetter
- ORIGIN_YEAR = 1980
- def self.calculate_current_year(days_since_origin)
- @@year = ORIGIN_YEAR
- @@days_remaining = days_since_origin
- while (@@days_remaining > 365) do
- if leap_year?
- peel_off_leap_year!
- else
- peel_off_regular_year!
- end
- end
- return @@year
- end
- private
- def peel_off_leap_year!
- if (@@days_remaining >= 366)
- @@days_remaining -= 366 ; @@year += 1
- end
- end
- def peel_off_regular_year!
- @@days_remaining -= 365 ; @@year += 1
- end
- def self.leap_year?
- @@year % 400 == 0 ||
- (@@year % 4 == 0 && @@year % 100 != 0)
- end
- end
Add Comment
Please, Sign In to add comment