これは、AcitveSupport を使用して利用できる機能です。あなたはそれrequire 'activesupport'を得るために行うことができます. それはやり過ぎかもしれませんが。#stampfrom 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"