如何使用 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 以输出相同的答案。
我正在尝试获取最后一整天的开始时间戳。我可以在 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 以输出相同的答案。