Sim*_*noz 3 jquery jquery-plugins
任何人都可以建议一个jQuery插件来计算两个日期之间的差异(日期也可能包含时间)并显示为'32天','13小时','20分钟'等?
Dan*_*Dan 11
您可以使用本机 JavaScript Date对象添加,减去和执行许多其他操作.它足以满足您的大部分需求.如果使用它,您可以节省千字节的页面大小,并使代码可以理解为每个人(可能90%的JavaScript开发人员从未使用过任何插件来计算日期)
我讨厌Date对象的事情是它没有内置的格式化输出.
例如,如果没有字符串解析,您无法告知本周的本地日期或月份名称.然后datejs来帮助你.
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');
Run Code Online (Sandbox Code Playgroud)
并且,有时候你可以期待一个笑话中有更多的真相

这是一个非常简单的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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
25777 次 |
| 最近记录: |