我有两行代码尝试在JavaScript中放置开始和结束日期时间。 new Date('<%= DateTime.now.beginning_of_day.to_s %>')
就是一个例子。 DateTime.now.beginning_of_day
返回JavaScript转换为8/13/2012 00:00的字符串2012-08-13T00:00:00-04:00
。完善。但是,DateTime.yesterday.beginning_of_day.to_s
会返回“2012-08-11 20:00:00-04:00”,JavaScript会转换为8/11/2012 20:00。我不想要前天晚上8点。我想昨天午夜。我尝试了Date.yesterday
,.in_time_zone("Eastern Time (US & Canada)")
,.utc
以及其他无数种排列。我需要做些什么才能获得过去的日期格式与DateTime.now
相同?
答案 0 :(得分:2)
试试这个:
DateTime.now.yesterday.beginning_of_day
答案 1 :(得分: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