日期:2014-05-17  浏览次数:20538 次

怎么用JQuery获取两个时间之差?
我现在使用的是my97日期空间  在这个控件中调用 onfocus="WdatePicker()" 属性事件来完成填充,现在希望在得到这个日期后 可以与另外一个时间对比,计算相差多少时间!最好能得出好多年好多月好多日!求解!谢谢!

------解决方案--------------------
refer : http://www.fuqianrong.com/article-detail-28.html
利用这些函数转换比较。
------解决方案--------------------
JQUERY好像没有对时间函数进行封装
另外,时间相减 即时间间隔 只有日、时、分、秒等的说法,貌似没有年月的说法,因为这两个都是不定值
给个参考的JS代码吧,如下
function DateDiff(sDate1, sDate2){ //sDate1和sDate2是字符串 yyyy-MM-dd格式 
var aDate, oDate1, oDate2, iDays, ihours, iminutes, iseconds;
aDate = sDate1.split("-");
oDate1 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);//转换为MM-dd-yyyy格式 
aDate = sDate2.split("-");
oDate2 = new Date(aDate[1] + '-' + aDate[2] + '-' + aDate[0]);
var timeSpan = {};
var TotalMilliseconds = Math.abs(oDate1 - oDate2);//相差的毫秒数
timeSpan.Days = parseInt(TotalMilliseconds / 1000 / 60 / 60 /24);
timeSpan.TotalHours = parseInt(TotalMilliseconds / 1000 / 60 / 60);
timeSpan.Hours = timeSpan.TotalHours % 24;
timeSpan.TotalMinutes = parseInt(TotalMilliseconds / 1000 / 60);
timeSpan.Minutes = timeSpan.TotalMinutes % 60;
timeSpan.TotalSeconds = parseInt(TotalMilliseconds / 1000);
timeSpan.Seconds = timeSpan.TotalSeconds % 60;
timeSpan.TotalMilliseconds = TotalMilliseconds;
timeSpan.Milliseconds = TotalMilliseconds % 1000;
return timeSpan;
}

------解决方案--------------------
WdatePicker显示到文本框,用jquery取出来就行了

计算差
 var date1 = new Date(2012, 4, 7, 11, 27);  //开始时间
        var date2 = new Date(2012, 4, 7, 12, 28);     //结束时间
        var date3 = date2.getTime() - date1.getTime();   //时间差的毫秒数