怎么实现一个计算一年中有多少周?

  1. 首先你得知道是不是闰年,也就是一年是365还是366。
  2. 其次你得知道当年1月1号是周几。假如是周五,一年365天把1号 2号3号减去,也就是把第一个不到一周的天数减去等于362,还得知道最后一天是周几,假如是周五,需要把周一到周五减去,也就是362-5=357。正常情况 357这个数计算出来是7的倍数。357/7=51 。即为周数。
获取某年某月某日是星球几

    function getDate(date) {
        let oDate = new Date(date)
        let day = oDate.getDay()
        console.log(typeof day)
        switch (day) {
            case 0:
                console.log('星期日')
                return 0
            case 1:
                console.log('星期一')
                return 1
            case 2:
                console.log('星期二')
                return 2
            case 3:
                console.log('星期三')
                return 3
            case 4:
                console.log('星期四')
                return 4
            case 5:
                console.log('星期五')
                return 5
            case 6:
                console.log('星期六')
                return 6
        }

    }
整体代码实现:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //判断是否是闰年
    function isLeapYear(year) {
        if (year % 4 === 0 && year % 100 !== 0 || year % 400 === 0) {
            console.log(year + 'is leap year')
            return true

        } else {
            console.log(year + 'is not leap year')
            return false
        }
    }

    //获取某年某月某日是星球几
    function getDate(date) {
        let oDate = new Date(date)
        let day = oDate.getDay()
        console.log(typeof day)
        switch (day) {
            case 0:
                console.log('星期日')
                return 0
            case 1:
                console.log('星期一')
                return 1
            case 2:
                console.log('星期二')
                return 2
            case 3:
                console.log('星期三')
                return 3
            case 4:
                console.log('星期四')
                return 4
            case 5:
                console.log('星期五')
                return 5
            case 6:
                console.log('星期六')
                return 6
        }

    }

    function main() {
        let currentYearDays = isLeapYear(2019) ? 366 : 365
        let beforeDays = 7 - getDate('2019-1-1')+1
        let afterDays = getDate('2019-12-31')
        let vaildDays = currentYearDays - beforeDays - afterDays
        let weeks = vaildDays / 7
        console.log(weeks)

    }
    main()

</script>
</body>
</html>

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

. . . . .

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值