美文网首页
自研小功能

自研小功能

作者: 花开有声是我 | 来源:发表于2019-02-21 16:32 被阅读0次
1. 输入年份和第几周,格式如2019-8,输出为一周的时间区间
image.png
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .content{
            border: 1px solid lightblue;
            padding: 30px;
            line-height: 50px;
        }
        input{
            height: 30px;
            padding-left: 10px;
        }
    </style>
</head>

<body>
    <div class="content">
        请输入年份和第几周,格式如2019-8,输出为一周的时间区间:
        <button id="button" onclick="change()">转化</button>
        <br>
        <input type="text" placeholder="请输入" id="inputs"><br>
        <input type="text" placeholder="输出时间区间" id="output">
    </div>
    <script>
        function change() {
            var inputs = document.getElementById('inputs').value.toString(); // var input = '2018-8';
            var output = document.getElementById('output');
            var year = inputs.substring(0, 4);
            var week = inputs.substring(5, inputs.length);
            var monday = formatDate(getXDate(year, week, 1));
            var sunday = formatDate(getXDate(year, week, 0));
            output.value = monday + ' ~ ' + sunday;
            // return  monday + '~' + sunday;
        }

        function formatDate(date) {
            var myyear = date.getFullYear();
            var mymonth = date.getMonth() + 1;
            var myweekday = date.getDate();
            if (mymonth < 10) {
                mymonth = "0" + mymonth;
            }
            if (myweekday < 10) {
                myweekday = "0" + myweekday;
            }
            return (myyear + "-" + mymonth + "-" + myweekday);
        }

        function getXDate(year, weeks, weekDay) {
            weekDay %= 7;
            var date = new Date(year, "0", "1");
            var time = date.getTime();
            weekDay == 0 ? time += weeks * 7 * 24 * 3600000 : time += (weeks - 1) * 7 * 24 * 3600000; // 以周日为一周的结束
            date.setTime(time);
            return getNextDate(date, weekDay);
        }

        function getNextDate(nowDate, weekDay) {
            var day = nowDate.getDay();
            var time = nowDate.getTime();
            var sub = weekDay - day;
            time += sub * 24 * 3600000;
            nowDate.setTime(time);
            return nowDate;
        }

    </script>
</body>

</html>

相关文章

网友评论

      本文标题:自研小功能

      本文链接:https://www.haomeiwen.com/subject/vtcdyqtx.html