diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG index f6b09c84d9..402afa237f 100644 --- a/activesupport/CHANGELOG +++ b/activesupport/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Added Time#end_of_day to get 23:59:59 of that day [DHH] + * Don't quote hash keys in Hash#to_json if they're valid JavaScript identifiers. Disable this with ActiveSupport::JSON.unquote_hash_key_identifiers = false if you need strict JSON compliance. [Sam Stephenson] * Lazily load the Unicode Database in the UTF-8 Handler [Rick Olson] diff --git a/activesupport/lib/active_support/core_ext/time/calculations.rb b/activesupport/lib/active_support/core_ext/time/calculations.rb index fb82513047..cdfcdf57d7 100644 --- a/activesupport/lib/active_support/core_ext/time/calculations.rb +++ b/activesupport/lib/active_support/core_ext/time/calculations.rb @@ -149,6 +149,11 @@ module ActiveSupport #:nodoc: alias :at_midnight :beginning_of_day alias :at_beginning_of_day :beginning_of_day + # Returns a new Time representing the end of the day (23:59:59) + def end_of_day + change(:hour => 23, :minute => 59, :sec => 59) + end + # Returns a new Time representing the start of the month (1st of the month, 0:00) def beginning_of_month #self - ((self.mday-1).days + self.seconds_since_midnight)