文字列の挙動にDataMapperの日時
-
19-09-2019 - |
質問
私はORMとしてDataMapperのを使用して私の最初のプロジェクトウィッヒを書くので、しばらくお待ちください。 :)
私は、DateTimeフィールドから文字列を取得やろうます:
Error.first.submitted_at.to_s => "2009-08-24T12:13:32 + 02:00"
返される文字列は、私のために良いではありません。 ActiveRecordのでは私はそのような何かを行うことができます:
Error.first.submitted_at.to_s(:only_date)
や他の日付フォーマッタ。 DataMapperの中somethig似て利用可能であるか、私はstrftimeのメソッドを使用する必要がありますか?
解決
これはAcitveSupportを使用して、使用可能な機能です。あなたはそれを得るためにrequire 'activesupport'
を行うことができます。それはしかし、やり過ぎかもしれません。また、= <のhrefから #stamp
に使用することができます「http://facets.rubyforge.org」のrel =「nofollowをnoreferrer」>ファセットのは、同じことを行うには、しかし、あなたは: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"
所属していません StackOverflow