2012-08-13 70 views
2

我有2行代码尝试在JavaScript中放置开始和结束日期时间。 new Date('<%= DateTime.now.beginning_of_day.to_s %>')就是一个例子。 DateTime.now.beginning_of_day返回字符串2012-08-13T00:00:00-04:00,该字符串将JavaScript转换为2012/8/13 00:00。完善。但是,DateTime.yesterday.beginning_of_day.to_s返回的是2012年8月11日20:00的JavaScript翻译的'2012-08-11 20:00:00:00:00'。我不想在前天晚上八点。我想要昨天午夜。我试过Date.yesterday.in_time_zone("Eastern Time (US & Canada)"),.utc和其他各种排列组合。我必须做些什么来获得过去与DateTime.now相同格式的日期?Rails格式DateTime.now单向和DateTime.yesterday另一个 - 我怎么得到过去的日期格式如DateTime.now?

回答

2

试试这个:

DateTime.now.yesterday.beginning_of_day 
0

我会用Time.zone

那么一些哈克TO_DATE回TO_TIME确保它在午夜zero'd出

new Date('<%= Time.zone.now.to_date.to_time.to_s %>') 

new Date('<%= (Time.zone.now - 1.day).to_date.to_time.to_s %>') 

你应该能够使用Time.zone.now.yesterday.to_date.to_time.to_s而不是 - 1.day