如何使用 javascript 获取最后一整天的时间戳

How to get the last full day timestamp using javascript

我正在尝试获取最后一整天的开始时间戳。我可以在 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;

如有任何帮助,我们将不胜感激。

在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 以输出相同的答案。