如何使用Javascript找到两个日期之间的差异
How do i find the difference between two dates using Javascript
我想让扩孔天数去特定的日期,所以我正在尝试用今天的日期检测特定的日期。 但这在这里不起作用是我的代码 如果日期是下个月 27 我怎么能得到剩余的日子去
var date2=new Date();
var date1=27/5/2012;
var diff = date1.getDate()-date2.getDate();
var date_reaming = diff.getDate();
document.write(date_reaming + 'days to go');
你的代码
date1=27/5/2012
实际上意味着 27 除以 5 除以 2012。相当于写作
date1 = 0.0026838966202783303
date1 将是一个数字,此数字没有getDate
方法。
如果您将它们声明为实际日期对象
var date2 = new Date(2012, 3, 19);
var date1 = new Date(2012, 4, 27);
您将能够执行
var diff = date1 - date2;
这将为您提供两个日期之间的毫秒差异。
从这里,您可以像这样计算天数:
var days = diff / 1000 / 60 / 60 / 24;
function getDateDiff(date1, date2, interval) {
var second = 1000,
minute = second * 60,
hour = minute * 60,
day = hour * 24,
week = day * 7;
date1 = new Date(date1).getTime();
date2 = (date2 == 'now') ? new Date().getTime() : new Date(date2).getTime();
var timediff = date2 - date1;
if (isNaN(timediff)) return NaN;
switch (interval) {
case "years":
return date2.getFullYear() - date1.getFullYear();
case "months":
return ((date2.getFullYear() * 12 + date2.getMonth()) - (date1.getFullYear() * 12 + date1.getMonth()));
case "weeks":
return Math.floor(timediff / week);
case "days":
return Math.floor(timediff / day);
case "hours":
return Math.floor(timediff / hour);
case "minutes":
return Math.floor(timediff / minute);
case "seconds":
return Math.floor(timediff / second);
default:
return undefined;
}
}
console.log(getDateDiff('19/04/2012', '27/5/2012', 'days'));
jQuery没有内置的日期管理函数。尝试使用: http://momentjs.com/
我认为你可以减去它:
var date2 = new Date(2012, 3, 19); // 1st argument = year, 2nd = month - 1 (because getMonth() return 0-11 not 1-12), 3rd = date
var date1 = new Date(2012, 4, 27);
var distance = date1.getTime() - date2.getTime();
distance = Math.ceil(distance / 1000 / 60 / 60 / 24); // convert milliseconds to days. ceil to round up.
document.write(distance);
这是答案,我从这里找到了这个 我的 js-fiddle 在这里
var d = new Date();
var curr_date = d.getDate();
var curr_month = d.getMonth();/* Returns the month (from 0-11) */
var curr_month_plus= curr_month+1; /* because if the month is 4 it will show output 3 so we have to add +1 with month*/
var curr_year = d.getFullYear();
function dstrToUTC(ds) {
var dsarr = ds.split("/");
var mm = parseInt(dsarr[0],10);
var dd = parseInt(dsarr[1],10);
var yy = parseInt(dsarr[2],10);
return Date.UTC(yy,mm-1,dd,0,0,0); }
function datediff(ds1,ds2) {
var d1 = dstrToUTC(ds1);
var d2 = dstrToUTC(ds2);
var oneday = 86400000;
return (d2-d1) / oneday; }
var a =curr_month_plus+ '/' + curr_date + '/' + curr_year;
var b;
b = "5/26/2012";
document.write(+datediff(a,b)+" day(s)<br>");
请理解jQuery的用途。
jQuery是一个快速简洁的JavaScript库,它简化了HTML文档遍历,事件处理,动画和Ajax交互,以实现快速Web开发。
你想使用基本的Javacript,或者像Juan G. Hurtado所说的那样,另一个库,比如momentjs。
相关文章:
- 如何在javascript中获取两个日期之间的周六和周日的日期
- 如何用moment.js列出两个日期之间的所有月份
- 两个日期时间选择器
- 如何在JavaScript中比较两个日期
- moment.js在两个时区格式的日期之间存在差异
- Javascript-如何使用bootstrap日期时间选择器自动计算两个时间输入之间的差异
- Javascript两个日期选择器冲突
- 如何从日期范围选择器中获取两个日期
- 用时间戳获取两个不同日期之间的时间差
- JavaScript函数,用于计算两个日期之间的年、月和天数
- 使用javascript将两个输入的日期添加在一起
- 再次使用JavaScript计算两个日期之间的天数
- Mongoose查询在两个日期时间之间提取数据
- 在Javascript中计算两个日期之间的工作日,节假日除外
- 在Jquery或Javascript中获取两个范围或日期之间的通信周数
- 两个日期之间的差异
- JavaScript-计算两个日期之间的天数(包括结束日期)
- 在 JavaScript 中单击函数时两个日期类型输入之间的差异的代码
- 如何将日期和时间拆分为两个元素
- 当前日期两个时间之间的时间