如何在没有Rails的情况下获得DateTime?

时间:2011-10-09 15:47:16

标签: ruby sinatra datamapper

如果没有Rails,我如何在一周结束时获得DateTime?

2 个答案:

答案 0 :(得分:3)

这是end_of_week

的ActiveSupport源代码
# File activesupport/lib/active_support/core_ext/date/calculations.rb, line 187
def end_of_week
  days_to_sunday = self.wday!=0 ? 7-self.wday : 0
  result = self + days_to_sunday.days
  self.acts_like?(:time) ? result.end_of_day : result
end

没有ActiveSupport

,做同样的事情非常简单
def end_of_week(date)
  days_to_sunday = date.wday!=0 ? 7-date.wday : 0
  result = date + (days_to_sunday * 86400)
  result
end

另一种方法是在项目中包含ActiveSupport作为gem依赖项。您不需要包含完整的Rails堆栈来处理日期,只需要使用ActiveSupport。

答案 1 :(得分:1)

您可以使用chronic之类的内容。虽然“本周结束”有点模糊不清。