你们可能已经猜到了,这是一个采访问题。但我不会透露哪家公司。我被要求实施
1.day.ago
在Ruby中这是Rails中的日期帮助器,但Ruby中不存在此功能。
答案 0 :(得分:8)
所有它*返回一天中的秒数,乘以self:
class Fixnum
def day
self * (60 * 60 * 24) # seconds * minutes * hours
end
end
# 10.days => 'self' is 10, so 10 * 60 * 60 * 24
然后,.ago
从Time.now
:
class Fixnum
def ago
Time.now - self
end
end
# 10.days.ago == Time.now - (10 * 60 * 60 * 24)
*这实际上不它所做的一切;实际上它返回一个代表给定持续时间的代理对象。数学也明显更复杂
答案 1 :(得分:-1)
这是一种方法:
Time.now-86400
#=> 2014-01-26 16:54:07 -0500
86400
是一天中的秒数。
免责声明:此示例显然不包括因夏令时而导致的时间变化。 (自担风险使用。)