質問

私は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"    
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top