Ruby on rails Ruby Time.now和其他日期

Ruby on rails Ruby Time.now和其他日期,ruby-on-rails,ruby,strftime,Ruby On Rails,Ruby,Strftime,我需要在变量中得到三个日期 今天从午夜开始,我已经 t=Time.now.strftime(“%Y-%m-%d 00:00:01”)#2012-11-19 00:00:01 昨天从午夜开始(即00:00:00至23:59:59) y1=2012-11-18 00:00:01 y2=2012-11-19 23:59:59 我特别需要创建y1和y2变量作为字符串,以便在gem中使用。作为ruby的新手,我和时间一样有点困惑。昨天似乎没有做我需要的事情 编辑 为此,请确保包括 需要“主动支持/全部”

我需要在变量中得到三个日期

今天从午夜开始,我已经

t=Time.now.strftime(“%Y-%m-%d 00:00:01”)#2012-11-19 00:00:01

昨天从午夜开始(即00:00:00至23:59:59)

y1=2012-11-18 00:00:01
y2=2012-11-19 23:59:59

我特别需要创建y1和y2变量作为字符串,以便在gem中使用。作为ruby的新手,我和时间一样有点困惑。昨天似乎没有做我需要的事情

编辑

为此,请确保包括

需要“主动支持/全部”

并确保gem是为您的应用程序捆绑的

使用:

你可以

 t=Time.now
 y1=t-1.day
 y2=t+1.day

首先将t转换为日期

t = t.to_date

t - 1.day # => yesterday
t + 1.day # => tomorrow

由于您正在运行Rails,因此可以从中获得帮助

你也应该考虑不要使用<代码> 2012-11-1900:0:01 或<代码> 2012-11-1923:59:59 。


相反,您可以使用00:00:00并与>=或<进行比较,这取决于您想要实现的目标。如果你总是四舍五入到秒,那么
2012-11-19 00:00:00
2012-11-19 23:59:59
就可以了。

我得到了这个错误
':对于“2012-11-19”,未定义的方法
-”:字符串(NoMethodError)你必须添加或减去时间对象,现在是用strftime得到的字符串。
 t=Time.now
 y1=t-1.day
 y2=t+1.day
t = t.to_date

t - 1.day # => yesterday
t + 1.day # => tomorrow
1.day.ago.midnight
Time.new.beginning_of_day