代码之家  ›  专栏  ›  技术社区  ›  Ethan Turkeltaub

数据映射器日期

  •  0
  • Ethan Turkeltaub  · 技术社区  · 15 年前

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

    但如何从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 回复  |  直到 14 年前
        1
  •  3
  •   Will Luongo    15 年前

    您可以通过以下功能访问它: http://ruby-doc.org/core/classes/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的日期hh:mm:ss

    这有帮助吗?

        2
  •  1
  •   tiredpixel    14 年前

    或者真的

    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 ,如果只想存储日期,而不是日期时间。

    推荐文章