菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
125
0

JavaScript Date 对象 实现 时间戳=>日期对象 ,时间戳=>字符串,字符串=>时间戳,获取一年内所有的星期

原创
05/13 14:22
阅读数 6994

由于业务需求要写一个日历,日历好写,但是,要标出周六和周日为红色,用到的部分核心函数如下:

<script>
        /*
       *时间戳=>日期对象
       * return Number
       * */
        function getDateObject(num) {
            return new Date(num);
        }
        /*
        *时间戳=>字符串
        * return Number
        * */
        function getString(num) {
            return new Date(num).getDay();
        }

        /*
        * 字符串=>时间戳
        * return String
        * */
        function getTimestamp(str) {
            return new Date(str).getTime();
        }
        /*
        * 获取一年内所有的星期
        * params String
        * return String
        * */
        function getWeek(year){
            //1天(d)=86400000毫秒(ms)
            var dayMseconds = 86400000;
            var year = year ||"2018";
            var firstDay = year + "-01-01";
            var lastDay = year + "-12-31";
            firstDay = getTimestamp(firstDay);
            lastDay = getTimestamp(lastDay);
            var resultArr = [];
            var result = [];
            for (var i = 0; i < 364; i++) {
                var day = getString(firstDay);
                if (day == 0 || day == 6) {
                    resultArr.push(firstDay)
                }
                firstDay += dayMseconds;
            }
            for (var j = 0; j < resultArr.length; j++) {
                var a = getDateObject(resultArr[j]).getFullYear() + '-' + (parseInt(getDateObject(resultArr[j]).getMonth()) + 1) + '-' + getDateObject(resultArr[j]).getDate();
                result.push(a)
            }
            return result;
        }
        console.log(getWeek(2019))
    </script>

 

发表评论

0/200
125 点赞
0 评论
收藏