提交 fabf3484 编写于 作者: D David Heinemeier Hansson

Added Time#end_of_month to accompany Time#beginning_of_month (closes #2514)...

Added Time#end_of_month to accompany Time#beginning_of_month (closes #2514) [Jens-Christian Fischer]

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2745 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
上级 a8eea0b0
*SVN*
* Added Time#end_of_month to accompany Time#beginning_of_month #2514 [Jens-Christian Fischer]
*1.2.2* (October 26th, 2005)
* Set Logger.silencer = false to disable Logger#silence. Useful for debugging fixtures.
......
......@@ -145,6 +145,14 @@ def beginning_of_month
end
alias :at_beginning_of_month :beginning_of_month
# Returns a new Time representing the end of the month (last day of the month, 0:00)
def end_of_month
#self - ((self.mday-1).days + self.seconds_since_midnight)
last_day = ::Time.days_in_month( self.month, self.year )
change(:mday => last_day,:hour => 0, :min => 0, :sec => 0, :usec => 0)
end
alias :at_end_of_month :end_of_month
# Returns a new Time representing the start of the year (1st of january, 0:00)
def beginning_of_year
change(:month => 1,:mday => 1,:hour => 0, :min => 0, :sec => 0, :usec => 0)
......
......@@ -30,6 +30,13 @@ def test_beginning_of_month
assert_equal Time.local(2005,2,1,0,0,0), Time.local(2005,2,22,10,10,10).beginning_of_month
end
def test_end_of_month
assert_equal Time.local(2005,3,31,0,0,0), Time.local(2005,3,20,10,10,10).end_of_month
assert_equal Time.local(2005,2,28,0,0,0), Time.local(2005,2,20,10,10,10).end_of_month
assert_equal Time.local(2005,4,30,0,0,0), Time.local(2005,4,20,10,10,10).end_of_month
end
def test_beginning_of_year
assert_equal Time.local(2005,1,1,0,0,0), Time.local(2005,2,22,10,10,10).beginning_of_year
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册