计算请假天数JavaScript方法

摘要:
前言最近,需要为用户创建休假审批系统。您需要输入休假的开始时间和结束时间,并计算休假天数。如果年假数量不足,系统将提示您不要提交。如果年假数量足够,您将完成审批流程。批准后,休假天数将自动从年假中扣除。然而,休假天数实际上花了一点时间,并且是用JavaScript实现的。现在,让我们拿出完成的JavaScript代码并找出错误。varssdate=“2018-11-12”;vareedate=“2018-11-14”;安慰日志函数getHoliday{varnum=日期差;varlastday=num%7;varweeknum=0;如果{weeknum=parseInt;}Varweekday=[“周日”、“周一”、“周二”、“周三”、“周四”、“周五”、“周六”];varresult=0;对于{vardd=newDate.getDay();如果(weekday[dd]!

前言

最近,有这么个需求,给用户做个请假审批系统,要输入请假开始时间和结束时间,同时计算出请假天数,如果年假数量不够提示不能提交,如果年假数量够的话,就走审批工作流,审批通过以后,自动在年假上减去这个请假天数。

审批流程很简单,就是找自己的经理审批就好了,在SharePoint里创建一个简单的workflow就可以实现。但是请假天数着实花了点时间,用JavaScript实现了。下面,就把写完的JavaScript代码拿出来,大家给找找bug吧。

var ssdate = "2018-11-12";
var eedate = "2018-11-14";
console.log("从" + ssdate + "到" + eedate + "请假天数为" +getHoliday(ssdate, eedate));
functiongetHoliday(sdate, edate) {
    var num =datedifference(sdate, edate);
    var lastday = num % 7;
    var weeknum = 0;
    if (num >= 7) {
        weeknum = parseInt(num / 7);
    }
    var weekday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
    var result = 0;
    for (var i = 0; i < lastday; i++) {
        var dd = newDate(addDate(sdate, i)).getDay();
        if (weekday[dd] != "星期六" && weekday[dd] != "星期日") {
            result++;
        }
    }
    return result + weeknum * 5;
}
//两个时间相差天数 兼容firefox chrome
function datedifference(sDate1, sDate2) { //sDate1和sDate2是2006-12-18格式  
    vardateSpan, tempDate, iDays;
    sDate1 =Date.parse(sDate1);
    sDate2 =Date.parse(sDate2);
    dateSpan = sDate2 -sDate1;
    dateSpan =Math.abs(dateSpan);
    iDays = Math.floor(dateSpan / (24 * 3600 * 1000));
    returniDays
};
functionaddDate(date, days) {
    var d = newDate(date);
    d.setDate(d.getDate() +days);
    var m = d.getMonth() + 1;
    return d.getFullYear() + '-' + m + '-' +d.getDate();
}

免责声明:文章转载自《计算请假天数JavaScript方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇小程序用户反馈wpf开发常见问题(1)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

QQ等级计算方法及图标

在线时长从去年下半年开始统计,使用腾讯QQ(包括在线,隐身,离开状态),使用腾讯TM,或是在Wince平台下用手机登录腾讯QQ,均计入在线时长。在线状态下不即时更新在线时长,每次下线后,更新本次的在线时长和等级。在线时长等级由太阳,月亮,星星三个图标标识。 在线时长积满20小时,即可获得一颗星星,获得第二颗星星需要再累积30小时,获得第三颗星星需要再累积4...

LocalDate计算两个日期相差天数

importorg.apache.commons.lang.StringUtils; importjava.time.LocalDate; importjava.time.ZoneId; importjava.time.format.DateTimeFormatter; importjava.time.temporal.ChronoUnit; impo...

一个简单的日历系统(C++)

一个简单的日历系统(C++) 一、整体架构 本次实验采用多文件结构进行开发,建立了Date类(Date.cpp,Date.h)和Time类(Time.cpp,Time.h),实现了Date类中对日期的加减运算(运算符重载)和Time类中的前置与后置自增自减运算。在main.cpp中实现了相关基础菜单界面,并在display.cpp中实现了月历和年历的打印...

iOS 计算两个日期之间的天数问题

1 //获取当前时间若干年、月、日之后的时间 2 + (NSDate *)dateWithFromDate:(NSDate *)date years:(NSInteger)years months:(NSInteger)months days:(NSInteger)days{ 3 NSDate *latterDate; 4 if(dat...

Javascript 计算请假天数

转载请注明本文地址:https://www.cnblogs.com/qiaoge0923/p/10219155.html  计算请假天数,笼统来说就是计算两个日期的差值。对于JS来说,两个时间直接相减,得到的是这两个时间差的毫秒数。 先上代码后贴图。 1.测试数据 后文中用到的测试数据如下: var dateStart = '2018-12-01 04...

Java 两个日期间的天数计算

在Java中计算两个日期间的天数,大致有2种方法:一是使用原生JDK进行计算,在JDK8中提供了更为直接和完善的方法;二是使用第三方库。 1、使用原生的JDK [java]view plaincopyprint? privatestaticlongdaysBetween(Dateone,Datetwo){ longdifference=(one....