我需要在变量中获得三个日期
今天午夜以来,我有
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不熟悉我有点困惑,因为Time.yesterday似乎没有做我需要的东西
修改
为此,请务必包含
要求'active_support / all'
并确保为您的应用程序捆绑了gem。
用于:
@current = (Time.now).beginning_of_day.utc.strftime("%Y-%m-%d")
@yesterday = (Time.now - 1.day).beginning_of_day.utc.strftime("%Y-%m-%d")
@everything = (Time.now - 2.day).end_of_day.utc.strftime("%Y-%m-%d")
答案 0 :(得分:4)
你可以,
t=Time.now
y1=t-1.day
y2=t+1.day
答案 1 :(得分:2)
t = Time.now
t - 1.day # => yesterday
t + 1.day # => tomorrow
答案 2 :(得分:1)
首先将t转换为日期,
t = t.to_date
t - 1.day # => yesterday
t + 1.day # => tomorrow
答案 3 :(得分:0)
由于您正在运行Rails,因此可以从ActiveSupport
获取帮助1.day.ago.midnight
Time.new.beginning_of_day
您还应该考虑不使用2012-11-19 00:00:01
或2012-11-19 23:59:59
。
相反,您可以使用00:00:00并与> =或<进行比较取决于你想要达到的目标。如果您总是四舍五入到秒,那么2012-11-19 00:00:00
到2012-11-19 23:59:59
就可以了。