2

我有 2 行代码尝试在 JavaScript 中放置开始和结束日期时间。 new Date('<%= DateTime.now.beginning_of_day.to_s %>')是一个例子。DateTime.now.beginning_of_day返回2012-08-13T00:00:00-04:00JavaScript 转换为 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

4

2 回答 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 回答