从两个时间段里分别计算出有几天工作日与周末

直接上代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>从两个时间段里分别计算出有几天工作日与周末</title>
    <style type="text/css">
    #calculate {
        background-color: #ff6444;
        padding: 10px;
        color: #fff;
        cursor: pointer;
        text-align: center;
        display: inline-block;
    }
    </style>
</head>

<body>
    <div style="margin-top: 10px;">
        <input type="text" id="date1" value="2018-01-21">
        <input type="text" id="date2" value="2018-01-31">
        <sapn id="calculate">计算</span>
    </div>
    <div id="work"></div>
    <div id="weekend"></div>
    <script>
    //获取标签ID的方法
    function getId(id) {
        return document.getElementById(id);
    }
    //获取工作日的方法
    function getWorkDay(first, last) {
        //获取开始时间的总毫秒数
        first = first.getTime();
        //获取结束时间的总毫秒数
        last = last.getTime();
        var count = 0;//设置一个容器来保存有多少个工作日

        if (first <= last) {
            for (var i = first; i <= last; i += 24 * 3600 * 1000) {
                var d = new Date(i);
                if (d.getDay() >= 1 && d.getDay() <= 5) {
                    count++;
                }
            }
            return count;
        } else {
            return ‘输入日期有误‘;
        }

    }
    //获取周末的方法
    function getWeekendDay(first, last) {
        first = first.getTime();
        last = last.getTime();
        var sum = 0;
        if (first <= last) {
            for (var i = first; i <= last; i += 24 * 3600 * 1000) {
                var d = new Date(i);
                if (d.getDay() == 0 || d.getDay() == 6) {
                    sum++;
                }
            }
            return sum;
        } else {
            return ‘输入日期有误‘;
        }

    }

    var calculate = getId(‘calculate‘);
    calculate.onclick = function() {
        var date1 = getId(‘date1‘).value.split(‘-‘);
        var date2 = getId(‘date2‘).value.split(‘-‘);
        var d1 = new Date(date1[0], date1[1] - 1, date1[2]);
        var d2 = new Date(date2[0], date2[1] - 1, date2[2]);

        var all_day = parseInt(d2.getTime() - d1.getTime()) / (24 * 3600 * 1000);

        var r = getWorkDay(d1, d2); //工作日
        var w = getWeekendDay(d1, d2); //周末
        var work = getId(‘work‘);
        var weekend = getId(‘weekend‘);

        if (r > 0 && w > 0) {
            work.innerHTML = ‘从‘ + date1[0] + ‘-‘ + date1[1] + ‘-‘ + date1[2] + ‘到‘ + date2[0] + ‘-‘ + date2[1] + ‘-‘ + date2[2] + ‘有‘ + r + ‘个工作日‘;
            weekend.innerHTML = ‘从‘ + date1[0] + ‘-‘ + date1[1] + ‘-‘ + date1[2] + ‘到‘ + date2[0] + ‘-‘ + date2[1] + ‘-‘ + date2[2] + ‘有‘ + w + ‘个休息日‘;
        } else {
            work.innerHTML = r;
            weekend.innerHTML = w;
        }

    }
    </script>
</body>

</html>

原文地址:https://www.cnblogs.com/chenmiaosong/p/8366541.html

时间: 2024-10-30 04:40:18

从两个时间段里分别计算出有几天工作日与周末的相关文章

根据地球上两个坐标点,计算出距离

public class MapDistance { private final static double PI = 3.14159265358979323; // 圆周率 private final static double R = 6371229; // 地球的半径 public static double getDistance(double longt1, double lat1, double longt2,   double lat2) {  double x, y, dista

比较两个时间的大小和时间差

<script type="text/javascript"> $(function () { ---------------------------------比较时间的大小------------------------------------------------- var cha = (Date.parse("2010/1/14 9:00:00") - Date.parse("2010/1/12 8:00:00")) / 8

js计算两个时间相差的天数

day1='2014-03-31 00:00:01'; function get_day(day1,day2){ var s = day1; var dt = Date.parse(s.replace(/-/g,"/")); var day1 = new Date(dt); var s = day2; var dt = Date.parse(s.replace(/-/g,"/")); var day2 = new Date(dt); var date3=day1.g

计算两个时间的差

获取两个datetime的时间差 #!/usr/bin/env python # -*- coding: utf-8 -*- import time, datetime def time_cha(date1,date2): date1=time.strptime(date1,"%Y-%m-%d %H:%M:%S") date2=time.strptime(date2,"%Y-%m-%d %H:%M:%S") date1=datetime.datetime(date1

js实现的计算两个时间之间的时间差

js实现的计算两个时间之间的时间差:在实际应用中,需要计算两个时间点之间的差距,一般来说都是计算当前时间和一个指定时间点之间的差距,并且有时候需要精确到天.小时.分钟和秒,下面就简单介绍一下如何实现此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.

java计算两个时间相差(天、小时、分钟、秒)

public static Long dateDiff(String startTime, String endTime, String format, String str) { // 按照传入的格式生成一个simpledateformate对象 SimpleDateFormat sd = new SimpleDateFormat(format); long nd = 1000 * 24 * 60 * 60;// 一天的毫秒数 long nh = 1000 * 60 * 60;// 一小时的毫

计算两个时间之间的天数

1第一种 import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Test { public static void main(String[] args) { try { //时间转换类 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM

根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离。显示为公里、米

/** * calc_map_distance() , 根据地图上的两个点各自的x,y坐标,计算出2点之间的直线距离 * @param array $point_1 第1个点的x,y坐标 array( 101 , 202 ) * @param array $point_2 第2个点的x,y坐标 array( 101 , 202 ) * @param bool $calc_as_string 是否计算为字符串公里距离 , 如果未否返回数字 * @return float | false | str

C/C++中计算两个时间相差的天数

在系统中经常用到time()函数获取系统时间,也就是通常所说的日历时间,这个时间是从1970年1月1日0时开始到现在的秒数. 问:已有日历时间t1和t2(假设t1>t2),如何计算他们之间相差的天数. 答: day = (t1+time_zone*60*60)/time_of_day - (t2+time_zone*60*60)/time_of_day 其中time_zone表示时区间隔,比如说北京时间相比于标准时间就需要加8小时,可以参考下图.time_of_day为一天的秒数,等于24*60