我正在尝试获取最后一整天的开始时间戳。我可以在ruby中完成它但我需要帮助在javascript中执行它。
(Time.now.to_s.split(" ")[0] + " 00:00:00").to_time.to_i - 86400
我试着这样做,但它并没有给我正确的价值。
new Date(new Date().toString().split(" ")[0] + "00:00:00").getTime()/1000 - 86400;
任何帮助都将不胜感激。
答案 0 :(得分:1)
在Ruby中:
Time.now.to_s.split(" ")[0]
# => "2015-03-20"
在JavaScript中:
new Date().toString().split(" ")[0];
# => "Fri"
因此,您的代码将NaN
作为输出结果。
请改为尝试:
new Date().toISOString().slice(0, 10);
# => "2015-03-20"
这将使您现有的JS成为:
new Date(new Date().toISOString().slice(0, 10) + " 00:00:00").getTime()/1000 - 86400;
注意:结果可能因Ruby和JavaScript而异,因为Ruby .to_time
默认会将字符串转换为UTC
,而JS new Date
会转换字符串进入GMT
。您可以在其中任何一个(或两个)中指定TimeZone以输出相同的答案。