【发布时间】:2016-03-08 08:37:23
【问题描述】:
功能:
用户玩游戏,当用户获胜时,他们将被导航到兑换页面。用户将在 72 小时内从礼品页面兑换礼品。因此,兑换将在用户在“恭喜”兑换页面的系统时间72小时后到期。
做了什么:
首先,我尝试在用户导航到祝贺页面时获取当前的 systemTime。
其次,我尝试通过增加 3 天将其设置为 72 小时后来获取到期日期。
最后,我尝试将计算的到期日期附加到<div> 的到期日期。
问题:
不知何故,到期日期显示不正确。例如,如果今天的日期是 8 月 3 日,那么结果会显示 14 月 2 日。
因此,显示的日期不是 72 小时后,而是一个月前几天。
我做错了什么??
function win() {
//get current System Time and Date
var endDate = new Date();
//Get Expiry Date
var date = new Date(endDate);
date.setDate(date.getDate() + 3);
var expiryDate = (date.getDate() + 3) + "/" + (date.getMonth());
document.getElementById('ExpiryDate').innerHTML = expiryDate;
console.log("test");
$("#my-memory-game").fadeOut(function() {
win_video();
})
}
<div id="congratulations">
<canvas id="MyCanvas" style="width:1080px; height: 1920px;">
Your browser does not support the HTML5 canvas tag.
</canvas>
<div id="ExpiryDate"></div>
</div>
【问题讨论】:
-
date.getMonth()是基于 0 的索引,所以2是三月 -
@Haketo 所以我必须在 getMonth() 上做一个 +2 吗??
-
不,如果 2 是三月,你应该 +1 得到 3 ... 。但是还有另一个问题,如果第 31 天,您将在 31 中添加 3 天,即 34,第 34 天不存在.. 看这个帖子:stackoverflow.com/questions/3818193/…
-
不,你应该做一个 +3,因为 March 是 3。所以你从 getMonth() +3 得到的值是正确的值。
-
@MikeLammers 为什么是
getMonth() +3?没有意义..会返回 5
标签: javascript jquery date