计算每月的业务/活跃天数
Posted
技术标签:
【中文标题】计算每月的业务/活跃天数【英文标题】:Counting Business / Active days of the Month 【发布时间】:2012-08-21 02:22:55 【问题描述】:fullcalendar有什么方法可以统计一个月的活动天数(没有节假日的天数和周末(星期日))?
例如:
一月份我们有31天,3个周末和5个假期,所以活跃天数是23天(31-(3+5)),我怎么计算那个活跃天数。
【问题讨论】:
您的代码如何知道节假日是哪一天? (另外,我想您会发现一月份至少有 四个 个周末,有时甚至五个。) 来自我们在本地假期活动之前或之后创建的活动 ***.com/questions/9646589/… 那么你想要的公式是(number of days in month) - (number of Saturdays + number of Sundays + number of weekday holidays)
。你的31-(3+5)
没有真正意义,因为即使假设有三个周末,你也需要31 - (3*2 + 5)
,因为周末有两天。
@nnnnnn 是的,这就是公式。但我没有找到一种方法来检查日期是否是周末(周日/周六)。
【参考方案1】:
实际上这与 fullcalendar 无关,但我认为此脚本将帮助您获取给定月份和年份的业务/活跃天数(不包括周末)。
function getActiveDays(month,year)
var daysinmonth=Date.getDaysInMonth(year,month);
var sundays=0;
for(i=1;i<=daysinmonth;i++)
var dayname = new Date(year,month,i).getDayName();
if(dayname=="Sunday")
sundays++;
;
activedays=daysinmonth-sundays;
return activedays;
上面的函数将从一个月中的几天中删除星期日。例如 :
getActiveDays(7,2012)
将返回 27 个活跃天数(从 2012 年 8 月开始)。
这个函数使用date.js库
【讨论】:
以上是关于计算每月的业务/活跃天数的主要内容,如果未能解决你的问题,请参考以下文章