Ruby on rails Ruby Time.now和其他日期
我需要在变量中得到三个日期 今天从午夜开始,我已经 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:01Ruby 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的新手,我和时间一样有点困惑。昨天似乎没有做我需要的事情 编辑 为此,请确保包括 需要“主动支持/全部”
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