获取两个javascript日期之间经过的时间百分比
我试图找出一个学年还剩多少天,并将其作为jQueryUI进度条返回 jQuery UI进度条仅采用百分比。考虑到今天的日期,我如何才能找到我在两个提供的日期之间的时间跨度的百分比?最简单的方法(从算法上——你可以把代码作为练习)是:获取两个javascript日期之间经过的时间百分比,javascript,jquery,user-interface,date,time,Javascript,Jquery,User Interface,Date,Time,我试图找出一个学年还剩多少天,并将其作为jQueryUI进度条返回 jQuery UI进度条仅采用百分比。考虑到今天的日期,我如何才能找到我在两个提供的日期之间的时间跨度的百分比?最简单的方法(从算法上——你可以把代码作为练习)是: 确定学年的天数(大多数公立学校通常为185天) 计算从当前日期到课程结束之间剩余的上学天数(确保忽略周末、假期、在职天数等,因为这些不是课程的一部分) 取第二步中的值并将其分为第一步。这将给你你的百分比 在jQueryUI进度栏中显示 示例: 或者,如果您想要剩余的
示例: 或者,如果您想要剩余的百分比:
示例: 如果您正在使用,我强烈建议您使用Javascript日期,您可以这样做:
var percentOfDayRangeComplete = function(start, end) {
var now = moment();
start = start || moment(now).startOf('day');
end = end || moment(now).endOf('day');
var totalMillisInRange = end.valueOf() - start.valueOf();
var elapsedMillis = now.valueOf() - start.valueOf();
// This will bound the number to 0 and 100
return Math.max(0, Math.min(100, 100 * (elapsedMillis / totalMillisInRange)));
};
要看到它的作用…我需要相反的结果:someDate=start.getTime()+((end.getTime()-start.getTime())*百分比)。
alert( Math.round(((end - start) * 100 ) / today) + '%' );
var percentOfDayRangeComplete = function(start, end) {
var now = moment();
start = start || moment(now).startOf('day');
end = end || moment(now).endOf('day');
var totalMillisInRange = end.valueOf() - start.valueOf();
var elapsedMillis = now.valueOf() - start.valueOf();
// This will bound the number to 0 and 100
return Math.max(0, Math.min(100, 100 * (elapsedMillis / totalMillisInRange)));
};