DataMapper Dates - PullRequest
       10

DataMapper Dates

0 голосов
/ 31 марта 2010

Простите, если это простой ответ.

Но как вы получаете Date из свойства 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 ]

3 голосов
/ 15 июня 2010

Вы можете получить к нему доступ с помощью функций из http://ruby -doc.org / ядро ​​/ классы / DateTime.html

Например:

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 ЧЧ: ММ: СС

Это помогает?

1 голос
/ 14 июля 2011

Или действительно

test.created_at.to_time

возвращает дату, например 2011-07-14 00:09:32 +0100, включая смещение.

Или

test.created_at.strftime("%c")

возвращает дату, определенную в локальном формате, например Thu Jul 14 00:09:32 2011.

Или любой из

test.created_at.iso8601
test.created_at.to_s

возвращает дату в формате ISO 8601, например, 2011-07-14T00:09:32+01:00.

Да, и не нужно указывать fmt=; Вы можете сделать

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

Однако, если вы просто хотите дату, вы можете сделать

test.created_at.to_date.to_s

, который возвращает "2011-07-14".

Помните также, что вы можете использовать created_on, если хотите сохранить только дату, а не дату / время.

...