0


1

DataMapperの日付

これが簡単な答えなら許してください。

しかし、DataMapperプロパティから日付を取得するにはどうすればよいですか。 例えば:

require 'rubygems'
require 'sinatra'
require 'datamapper'

class Test
    include DataMapper::Resource

    property :id, Serial
    property :created_at, Date
end

get '/:id' do
    test = Test.get(1)

    test.created_at = ?
end

2 Answer


3


例えば:

require 'rubygems'
require 'sinatra'
require 'datamapper'

class Test
    include DataMapper::Resource

    property :id, Serial
    property :created_at, Date
end

get '/:id' do
    test = Test.get(1)

    test.created_at.strftime(fmt='%F %T')
end

YYYY-MM-DD HH:MM:SSでフォーマットされた日付を返します

それは役立ちますか?


1


または確かに

test.created_at.to_time

オフセットを含め、 `2011-07-14 00:09:32 + 0100`などの日付を返します。

Or

test.created_at.strftime("%c")

「Thu Jul 14 00:09:32 2011」などのローカル形式で定義された日付を返します。

または

test.created_at.iso8601
test.created_at.to_s

`2011-07-14T00:09:32 + 01:00`のようなISO 8601形式の日付を返します。

ああ、 `fmt =`を指定する必要はありません。できるよ

test.created_at.strftime("%F %T")

ただし、日付だけが必要な場合は、次のことができます

test.created_at.to_date.to_s

`" 2011-07-14 "`を返します。

また、Dateのみを保存し、DateTimeは保存しない場合は、 `created_on`を使用できることにも留意してください。