我希望迭代几个月的日子,所以:
require 'time'
Time.now.month # => 5
Time.now.day.next # => 32
这是什么意思?五月三十二日?
另外,
rota.rb:2:in `<main>': undefined method `days_in_month' for Time:Class (NoMethodError)
出了什么问题?
答案 0 :(得分:2)
这应该解释一下:
Time.now.day.class
=> Fixnum
Fixnum对日期一无所知,但确实有方法next
。
如果你想进入第二天,那么:
(Time.now + (60 * 60 * 24)).day
=> 1
如果安装了Rails,您可以执行以下操作:
require 'active_support/time'
(Time.now + 1.day).day
=> 1
答案 1 :(得分:1)
next
调用与日期或时间无关 - Time.now.day
返回一个整数。调用next
(或succ
)会返回该数字加1。有关详细信息,请参阅Fixnum文档。