最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實(shí)現(xiàn)獲取最新本周周一開(kāi)始的日期(單周日歷卡)

 更新時(shí)間:2023年10月15日 08:41:44   作者:陽(yáng)哥  
這篇文章主要為大家介紹了js實(shí)現(xiàn)獲取最新本周周一開(kāi)始的日期(單周日歷卡)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

獲取單周日歷選項(xiàng)卡

html

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<style>
    *{
        list-style: none;
        margin: 0;
        padding: 0;
    }
    ul{
        overflow: hidden;
    }
    li{
        float: left;
        margin-right: 10px;
    }
    #year{
        float: left;
        margin-right: 20px;
    }
</style>
<body>
    <h1>單周日歷選項(xiàng)卡</h1>
    <div style="overflow: hidden;">
        <h2 id="year"></h2>
        <h3 id="current-time"></h3>
    </div>
    <ul id="day"></ul>
    <ul id="date"></ul>
    <script>
        //獲取當(dāng)前時(shí)間7天前的日期
        function getLast7Date(date) {
            let pastArr = [];
            for (let i = 1; i <= 7; i++) {
                date.setDate(date.getDate() - 1);//設(shè)置日期
                pastArr.push(date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate());
            }
            document.write(pastArr)
        }
        let date = new Date(2017, 0, 1);
        getLast7Date(date)
        console.log()
        //獲取最新本周周一開(kāi)始的日期
        const date1 = new Date();
        function getNewWeekDate(date) { //單周日歷插件
            if(!date instanceof Date){
                throw new Error("pass the Date Type of params")
            }
            let curDate = date.getDate();
            let dayNum = date.getDay() ? date.getDay() : 7; //如果為0 代表星期日 改為數(shù)字7
            let dateCopy = new Date(date.toDateString()); //COPY 兩個(gè)不同的date對(duì)象
            let dateCopy2 = new Date(date.toDateString());
            let arr1 = [];
            let arr2 = [];
            let x1 = dayNum - 1;
            let x2 = 7 - dayNum;
            if (x1 > 0) {
                console.time()
                for (let i = 0; i < x1; i++) {
                    let changeDate = dateCopy.setDate(dateCopy.getDate() - 1);
                    arr1.unshift(dateCopy);
                    dateCopy = new Date(changeDate) //重新賦值 setDate返回值是調(diào)整過(guò)的日期的毫秒表示
                }
                console.timeEnd()
            }
            if (x2 !== 0) {
                for (let i = 0; i < x2; i++) {
                    let ui = dateCopy2.setDate(dateCopy2.getDate() + 1);
                    arr2.push(dateCopy2);
                    dateCopy2 = new Date(ui)
                }
            }
            let res = arr1.concat([date], arr2);
            //渲染
            let yearDom = document.querySelector("#year");
            let dayDom = document.querySelector("#day");
            let dateDom = document.querySelector("#date");
            yearDom.innerText = date.getFullYear();//默認(rèn)取當(dāng)前日期所在年份
            for(let item of res){
                let li1 = document.createElement('li');
                let li2 = document.createElement('li');
                let day = item.getDay() == 0 ? 7 : item.getDay();
                switch(day){
                    case 1:
                    day = '一'
                    break;
                    case 2:
                    day = '二'
                    break;
                    case 3:
                    day = '三'
                    break;
                    case 4:
                    day = '四'
                    break;
                    case 5:
                    day = '五'
                    break;
                    case 6:
                    day = '六'
                    break;
                    case 7:
                    day = '日'
                    break;
                    default:
                    break;
                }
                li1.innerText = day
                dayDom.appendChild(li1)
                let date = item.getDate();
                if(item.getDate() === curDate){
                    li2.style.color = "red"
                }
                li2.innerText = date;
                motiveSetTime();
                dateDom.appendChild(li2)
            }
        }
        getNewWeekDate(date1);
        function motiveSetTime(){
            let timer = setInterval(()=>{
                let date = new Date();
                document.querySelector("#current-time").innerHTML = date.toLocaleTimeString(); 
            },1000)
        }
    </script>
</body>
</html>

注意點(diǎn)

1.getNewWeekDate函數(shù)接受一個(gè)為date類型的參數(shù)

2.for循環(huán)中,對(duì)循環(huán)外對(duì)象的引用(包含object,array,date類型);數(shù)組添加方法會(huì)默認(rèn)執(zhí)行外層對(duì)象最終循環(huán)得到的值。例如下面例子:

var dates = new Array();
        var currentDate = new Date();
        for (var i =0; i < 10;i++){
            currentDate.setDate(currentDate.getDate()+2);
            console.log(currentDate);
            dates.push(currentDate);
        }
        console.log(dates)

假如currentDate為2023/10/14,循環(huán)體內(nèi)currentDate打印都是2023/10/14整個(gè)時(shí)間;

循環(huán)體外dates打印為10次一樣的10/14 10 2(date)=>Fri Nov 03 2023 18:25:06 GMT+0800 (中國(guó)標(biāo)準(zhǔn)時(shí)間)

//改進(jìn)
        var dates1 = new Array();
        var currentDate = new Date();
        for (var i =0; i < 10;i++){
            currentDate.setDate(currentDate.getDate()+2);
            console.log(currentDate);
            dates1.push(new Date(currentDate));
        }
        console.log(dates1)

最上面實(shí)例代碼就是通過(guò)每次循環(huán)改變最外層date對(duì)象的引用來(lái)解決的

以上就是js實(shí)現(xiàn)獲取最新本周周一開(kāi)始的日期(單周日歷卡)的詳細(xì)內(nèi)容,更多關(guān)于js獲取單周日歷卡的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • JavaScript DOM節(jié)點(diǎn)添加示例

    JavaScript DOM節(jié)點(diǎn)添加示例

    本節(jié)為大家介紹下JavaScript DOM節(jié)點(diǎn)添加,將node里面的str放到h1段落中使之成為h1的新段落
    2014-07-07
  • javascript中的event loop事件循環(huán)詳解

    javascript中的event loop事件循環(huán)詳解

    這篇文章主要給大家介紹了關(guān)于javascript中event loop事件循環(huán)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • 深度拆解前端雙Token無(wú)感刷新的實(shí)現(xiàn)機(jī)制

    深度拆解前端雙Token無(wú)感刷新的實(shí)現(xiàn)機(jī)制

    在前后端分離的項(xiàng)目中,為了安全,Token?通常會(huì)設(shè)置有效期,本文將深度拆解?“雙?Token?無(wú)感刷新”?的實(shí)現(xiàn)機(jī)制,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2026-03-03
  • 細(xì)說(shuō)JavaScript中的變量,作用域和垃圾回收

    細(xì)說(shuō)JavaScript中的變量,作用域和垃圾回收

    這篇文章主要和大家介紹一下JavaScript中的變量,作用域和垃圾回收的定義與使用,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)JavaScript有一定的幫助,需要的可以參考一下
    2022-11-11
  • xmlplus組件設(shè)計(jì)系列之樹(shù)(Tree)(9)

    xmlplus組件設(shè)計(jì)系列之樹(shù)(Tree)(9)

    xmlplus 是一個(gè)JavaScript框架,用于快速開(kāi)發(fā)前后端項(xiàng)目。這篇文章主要介紹了xmlplus組件設(shè)計(jì)系列之tree,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • JavaScript實(shí)現(xiàn)省市聯(lián)動(dòng)過(guò)程中bug的解決方法

    JavaScript實(shí)現(xiàn)省市聯(lián)動(dòng)過(guò)程中bug的解決方法

    這篇文章主要為大家詳細(xì)介紹了解決JavaScript實(shí)現(xiàn)省市聯(lián)動(dòng)過(guò)程中的bug,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • 記錄微信小程序 height: calc(xx - xx);無(wú)效問(wèn)題

    記錄微信小程序 height: calc(xx - xx);無(wú)效問(wèn)題

    這篇文章主要介紹了微信小程序 - height: calc(xx - xx);無(wú)效 問(wèn)題,文中給大家擴(kuò)展介紹下jquery點(diǎn)擊添加樣式,再次點(diǎn)擊移除樣式的實(shí)例代碼,需要的朋友可以參考下
    2019-12-12
  • 基于JavaScript短信驗(yàn)證碼如何實(shí)現(xiàn)

    基于JavaScript短信驗(yàn)證碼如何實(shí)現(xiàn)

    我們?cè)谑褂靡苿?dòng)、電信等運(yùn)營(yíng)商網(wǎng)上營(yíng)業(yè)廳的時(shí)候,為確保業(yè)務(wù)的完整和正確性,經(jīng)常會(huì)需要用到短信的驗(yàn)證碼。最近因?yàn)槟呈I(yè)務(wù)需要,也做了個(gè)類似的功能
    2016-01-01
  • JavaScript中reduce()詳解及使用方法

    JavaScript中reduce()詳解及使用方法

    reduce()方法接收一個(gè)函數(shù)做為累加器,數(shù)組中的每一個(gè)值(從左到右)開(kāi)始縮減,最終計(jì)算為一個(gè)值,下面這篇文章主要給大家介紹了關(guān)于JavaScript中reduce()詳解及使用方法的相關(guān)資料,需要的朋友可以參考下
    2023-04-04
  • 微信小程序?qū)崿F(xiàn)一張或多張圖片上傳(云開(kāi)發(fā))

    微信小程序?qū)崿F(xiàn)一張或多張圖片上傳(云開(kāi)發(fā))

    這篇文章主要介紹了微信小程序?qū)崿F(xiàn)一張或多張圖片上傳,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09

最新評(píng)論

香港| 盐亭县| 郁南县| 元谋县| 类乌齐县| 津市市| 房山区| 林芝县| 萨迦县| 浙江省| 泽普县| 吉水县| 吐鲁番市| 鄯善县| 阿城市| 高碑店市| 黔江区| 英山县| 五河县| 晋中市| 盘锦市| 宁陕县| 峡江县| 乐昌市| 栾城县| 新宁县| 和政县| 固安县| 平武县| 信阳市| 霸州市| 博客| 济南市| 陆良县| 车致| 合作市| 南丰县| 洪湖市| 馆陶县| 电白县| 陆川县|