我有一个包含日期属性的 ruby 模型,我希望能够以 dd/MM/yyyy 格式将其作为参数传入。
但是,我的 sqlite3 数据库以 yyyy-MM-dd 格式存储数据,因此当传入像 20/10/2010 这样的日期时,它不会被读取到数据库中。
我正在使用 Sinatra 框架并使用 haml 来创建标记。
我是否需要编写一个助手来获取日期字符串并将其转换为数据库的正确格式?或者我可以在模型属性上设置格式类型吗?
谢谢。
最佳答案
您不必担心数据库对日期的内部表示; DataMapper 可以为您做到这一点。您只需要确保向它传递一个有效的 Date
对象。
查看 http://ruby-doc.org/core/classes/Date.html Date
类可用的方法。对于您的示例:
require 'date'
mydate = '20/10/2010'
mydate_obj = Date::strptime(mydate, '%d/%m/%Y')
puts "#{mydate_obj}" # prints 2010-10-20
关于ruby - 在 ruby 模型中设置日期格式(sinatra/datamapper),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2964283/