0

如果这是一个简单的答案,请原谅我。

但是如何从 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
4

2 回答 2

3

您可以使用http://ruby-doc.org/core/classes/DateTime.html中的功能访问它

例如:

需要“红宝石”
需要'sinatra'
需要“数据映射器”

类测试
    包括 DataMapper::Resource

    属性:id,序列号
    属性:created_at,日期
结尾

得到'/:id'做
    测试 = 测试.get(1)

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

将返回格式为 YYYY-MM-DD HH:MM:SS 的日期

这有帮助吗?

于 2010-06-15T01:08:39.817 回答
1

或者确实

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如果您只想存储日期而不是日期时间,则可以使用 。

于 2011-07-13T23:17:40.993 回答