Javascript 如何计算从今天到给定日期的天数以及getTime()的代码?
我想计算从今天到给定日期之间的天数,并检查离今天还有多少天,或者从今天起还有多少天Javascript 如何计算从今天到给定日期的天数以及getTime()的代码?,javascript,extjs,Javascript,Extjs,我想计算从今天到给定日期之间的天数,并检查离今天还有多少天,或者从今天起还有多少天 var today = new Date(); var date_to_reply = new Date('2012-10-15'); var timeinmilisec = today.getTime() - date_to_reply.getTime(); console.log( Math.floor(timeinmilisec / (1000 * 60 * 60 * 24)) ); 这给了我5作为答案,
var today = new Date();
var date_to_reply = new Date('2012-10-15');
var timeinmilisec = today.getTime() - date_to_reply.getTime();
console.log( Math.floor(timeinmilisec / (1000 * 60 * 60 * 24)) );
这给了我5作为答案,但是我应该如何得到(-5),因为回复的日期是从今天起5天过去了
这是计算给定日期的正确方法吗
认为你所做的是正确的:你想计算两个日期之间的差异(天数)。差值不能小于零 虽然您的回复日期已经过去,但仍有5天的差异 所以,一切都很好——这是正确的方法 编辑: 如果希望结果为负值,请尝试以下操作:
var today = new Date();
var date_to_reply = new Date('2012-10-15');
var timeinmilisec = date_to_reply.getTime() - today.getTime();
console.log( Math.ceil(timeinmilisec / (1000 * 60 * 60 * 24)) );
请记住,您需要
Math.ceil
最终结果,而不是使用Math.floor()
将其四舍五入。如果您希望值为负值(表示date\u to\u reply
是过去的),您应该从当前日期中减去过去的日期:date\u to\u reply.getTime()-today.getTime()
检查计算更多不同结果的方法。如果交换日期顺序,将得到所需的负数 更好的是,您可以编写一个函数来实现这一点 它可以从第二个参数中减去第一个参数 第二个参数可以默认为今天
function diffDates(dateOne, dateTwo) {
if (typeof dateTwo === 'undefined') {
dateTwo = new Date();
}
return dateOne.getTime() - dateTwo.getTime();
}
最好让函数以数字而不是日期操作
那会更灵活,但我现在正在iPad上打字 这很明显,因为今天的日期比以前的日期长。所以要么你自己把它变成负片,要么用这个
var timeinmilisec = date_to_reply.getTime()-today.getTime();