这是使用 AcitveSupport 提供的功能。你可以做得到require 'activesupport'
它。不过,这可能有点矫枉过正。你也可以使用#stamp
from Facets来做同样的事情,但你必须设置:only_date
格式:
require 'facets/date'
Date::FORMAT[:only_date] = '%d.%m.%y' # For Date objects
Time::FORMAT[:only_date] = '%d.%m.%y' # For DateTime objects
d = DateTime.now
d.stamp(:only_date) # => "24.08.09"
如果您真的想将它与该to_s
方法一起使用,您也可以这样做:
require 'facets/date'
Date::FORMAT[:only_date] = '%d.%m.%y' # For Date objects
Time::FORMAT[:only_date] = '%d.%m.%y' # For DateTime objects
class DateTime
alias :default_to_s :to_s
def to_s(format=nil)
if format.nil?
default_to_s
else
stamp format
end
end
end
d = DateTime.now
d.to_s(:only_date) # => "24.08.09"