我有 2 行代码尝试在 JavaScript 中放置开始和结束日期时间。 new Date('<%= DateTime.now.beginning_of_day.to_s %>')
是一个例子。DateTime.now.beginning_of_day
返回2012-08-13T00:00:00-04:00
JavaScript 转换为 8/13/2012 00:00的字符串。完美的。但是,DateTime.yesterday.beginning_of_day.to_s
返回“2012-08-11 20:00:00-04:00”,JavaScript 将其转换为 2012 年 8 月 11 日 20:00。我不要前天晚上八点。我想昨天午夜。我已经尝试过Date.yesterday
,.in_time_zone("Eastern Time (US & Canada)")
和.utc
无数其他排列。我必须做什么才能获得格式相同的过去日期DateTime.now
?
问问题
874 次
2 回答
2
试试这个:
DateTime.now.yesterday.beginning_of_day
于 2012-08-13T21:07:59.127 回答
0
我会使用 Time.zone
然后一些 hacky to_date 回到 to_time 确保它在午夜归零
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
于 2012-08-14T03:20:02.573 回答