使用jquery获取两个日期之间的差异

使用jquery获取两个日期之间的差异,jquery,jquery-plugins,Jquery,Jquery Plugins,有人能推荐一个jQuery插件来计算两个日期(日期可能也包含时间)之间的差异,并将其显示为“32天”、“13小时”吗,“20分钟”等?我想这正是您想要的。我强烈建议使用优秀的工具轻松完成所有日期时间计算这是我刚刚开发的一个非常简单的Javascript实现。您可以进行数学运算,将其扩展到数月或数年,或者根据需要删除1值的复数 var dateDiff = function ( d1, d2 ) { var diff = Math.abs(d1 - d2); if (Math.fl

有人能推荐一个jQuery插件来计算两个日期(日期可能也包含时间)之间的差异,并将其显示为“32天”、“13小时”吗,“20分钟”等?

我想这正是您想要的。

我强烈建议使用优秀的工具轻松完成所有日期时间计算

这是我刚刚开发的一个非常简单的Javascript实现。您可以进行数学运算,将其扩展到数月或数年,或者根据需要删除1值的复数

var dateDiff = function ( d1, d2 ) {
    var diff = Math.abs(d1 - d2);
    if (Math.floor(diff/86400000)) {
        return Math.floor(diff/86400000) + " days";
    } else if (Math.floor(diff/3600000)) {
        return Math.floor(diff/3600000) + " hours";
    } else if (Math.floor(diff/60000)) {
        return Math.floor(diff/60000) + " minutes";
    } else {
        return "< 1 minute";
    }
};

dateDiff(new Date(1990, 1, 1), new Date(1990, 1, 13)) // -> 12 days
var dateDiff=函数(d1,d2){
var diff=数学绝对值(d1-d2);
if(数学楼层(差异/86400000)){
返回数学下限(差值/86400000)+“天”;
}其他如果(数学楼层(差异/3600000)){
返回数学楼层(差值/3600000)+“小时”;
}其他如果(数学楼层(差异/60000)){
返回数学楼层(差值/60000)+“分钟”;
}否则{
返回“<1分钟”;
}
};
dateDiff(新日期(1990年1月1日),新日期(1990年1月13日))/->12天

您可以使用本机JavaScript对象添加、减去和执行许多其他操作。这是为了满足你的大部分需要。如果使用它,您可以节省数千字节的页面大小,并使每个人都能理解代码(可能90%的JavaScript开发人员从未使用任何插件来计算日期)

我讨厌Date对象的一点是它没有

例如,如果不进行字符串分析,就无法说出本地化的星期几或月份名称。然后来帮你

日期对象可以做什么?

而且,有时候笑话中的真实性比你想象的要多
day1=$(“#tMTLCLsDay”).val();
month1=$(“#tMTLCLsMnth”).val();
第1年=$(“#tMTLCLsYr”).val();
hour1=$(“#tMTLCLs_HOUR”).val();
min1=$(“#tMTLCLs_MIN”).val();
变量Date1=month1+“/”+day1+“/”+year1+“+hour1+”:“+min1+”:00”;
第2天=$(“#tMTLCLsDay”).val();
month2=$(“#tMTLCLsMnth”).val();
第二年=$(“#tMTLCLsYr”).val();
hour3=$(“#tMTLCLs_HOUR”).val();
hour2=$(“#tMTLCLs_MIN”).val();
var Date2=month2+“/”+day2+“/”+year2+“+hour2+”:“+hour2+”:00”;

if(Date.parse(Date1)为什么jQuery可以用本机JavaScript完成这项工作?可能是重复的,也可能是重复的感谢,这证实了这对我来说是有效的,并且确实会实现所提出的问题。提供了大量示例。断开的链接在2018年如果向日期添加一个数字,请始终使用
getTime()
。此代码不起作用
console.log(a+10)
,此代码起作用
console.log(a.getTime()+10)
date.js从未超过Alpha-1,自2007年以来已过时。我非常不鼓励使用它!
var msMinute = 60*1000, 
    msDay = 60*60*24*1000,
    a = new Date(2012, 2, 12, /* days, hours*/ 23, 59, 59),
    b = new Date("2013 march 12"), /* string */
    c = new Date(),                /* now */
    d = new Date(c.getTime() + msDay - msMinute);       /* tomorrow - minute */


console.log(a.getUTCHours());
console.log(typeof (b - a + 1000));
console.log(Math.floor((b - a) / msDay) + ' full days between');
console.log(Math.floor(((b - a) % msDay) / msMinute) + ' full minutes between');
console.log('Today is ' + c.getDay() + ' day of week');
console.log('Tomorrow is ' + d.getDay() + ' day of week');
console.log('Your timezone offset is ' + c.getTimezoneOffset() + ' minutes');
day1= $("#tMTLCLsDay").val();
month1= $("#tMTLCLsMnth").val();
year1= $("#tMTLCLsYr").val();
hour1= $("#tMTLCLs_HOUR").val();
min1= $("#tMTLCLs_MIN").val();
var Date1=month1+ "/" + day1+ "/" + year1+ " " + hour1 + ":" + min1+ ": 00" ;

day2= $("#tMTLCLsDay").val();
month2= $("#tMTLCLsMnth").val();
year2= $("#tMTLCLsYr").val();
hour3= $("#tMTLCLs_HOUR").val();
hour2= $("#tMTLCLs_MIN").val();
var Date2=month2+ "/" + day2+ "/" + year2+ " " + hour2 + ":" + hour2 + ": 00" ;


if(Date.parse(Date1)<Date.parse(Date2))
{
alert("Date 2 is large");
}