JavaScript:用JavaScript显示昨天的日期

JavaScript:用JavaScript显示昨天的日期,javascript,html,Javascript,Html,我试图在点击按钮时显示昨天的日期,但为什么显示日期为2013-6-0 而不是2013年5月31日 谁能告诉我我做错了什么 <!DOCTYPE html> <html> <head> <script> function displayDate() { var d = new Date(); var curr_date = d.getDate()-1; var curr_month = d.getMonth() + 1; var curr_year

我试图在点击按钮时显示昨天的日期,但为什么显示日期为2013-6-0 而不是2013年5月31日

谁能告诉我我做错了什么

<!DOCTYPE html>
<html>
<head>
<script>
function displayDate()
{

var d = new Date();
var curr_date = d.getDate()-1;
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();
var yesterday = curr_year + "-" + curr_month + "-" + curr_date ;

document.write(yesterday);

}
</script>
</head>
<body>


<p id="demo">Click Button to Display Yesterday Date</p>

<button type="button" onclick="displayDate()">Display Date</button>

</body>
</html> 

您应该更新并引用减去1天的日期:

var d = new Date();

d.setDate(d.getDate() - 1); // <-- add this to make it "yesterday"

var curr_date = d.getDate(); // <-- don't subtract 1 anymore
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();

您应该更新并引用减去1天的日期:

var d = new Date();

d.setDate(d.getDate() - 1); // <-- add this to make it "yesterday"

var curr_date = d.getDate(); // <-- don't subtract 1 anymore
var curr_month = d.getMonth() + 1;
var curr_year = d.getFullYear();

你的代码只需要一个像1,2。。。然后从中减去一。为什么你会期望这一天自动回滚到上个月

您可以通过从给定日期减去毫秒来生成新日期。试试这个:

var today = new Date();
# subtract milliseconds representing one day from current date
var yesterday = new Date(today - 24*60*60*1000);

你的代码只需要一个像1,2。。。然后从中减去一。为什么你会期望这一天自动回滚到上个月

您可以通过从给定日期减去毫秒来生成新日期。试试这个:

var today = new Date();
# subtract milliseconds representing one day from current date
var yesterday = new Date(today - 24*60*60*1000);

d、 getDate是1,并且1-1=0,所以如果不是0,您希望得到什么?你必须从整个日期中减去1,而不仅仅是从月内的那一天。为什么要在月中加1?@ExplosionPills如果不是在错误的时间做的话,那么这是正确的做法:-d.getDate是1,1-1=0,那么如果不是0,你会期望什么呢?你必须从整个日期中减去1,而不仅仅是从月份内的那一天。为什么要在月份中加1?@ExplosionPills如果不是在错误的时间做的话,那是正确的做法:-对。。。然后得到要显示的日期。对。。。然后得到要显示的日期片段。