• js根据输入的日期获取当年的第几周


    web开发中,我们经常遇到客户要显示第几周的等等麻烦的计算,那么输入当前日期如何快速查处是第几周呢?

    let date = new Date('2021-02-28')
    
    getWeekInYear(date)
    function getWeekInYear(date) {
        console.log(date)
        //判断该星期是否跨年,如果跨年就是第一周
        let weekStartDate = getWeekStartByDate(date) //一周开始时间
        console.log(weekStartDate,'weekStartDate')
        let endDate = getDateFromDay(weekStartDate, 6) //一周结束时间
        console.log(endDate,'endDate')
        if (weekStartDate.getFullYear() != endDate.getFullYear()) {
            console.log(endDate.getFullYear() + '年第1周')
            let num = 1
            return num
        }
        let d1 = new Date(date)
        let d2 = new Date(date)
        d2.setMonth(0)
        d2.setDate(1)
        d2 = getWeekStartByDate(d2)
        console.log(d2,'d2')
        let rq = d1 - d2
        let days = Math.ceil(rq / (24 * 60 * 60 * 1000)) + 1
        let num = Math.ceil(days / 7)
        console.log(endDate.getFullYear() + '年第' + num + '周')
        return num
    }
    function getWeekStartByDate(date) {
        let day = date.getDay()
        return getDateFromDay(date, -day)
    }
    function getDateFromDay(dayDate, day) {
        let date = new Date()
        date.setTime(dayDate.getTime() + day * 24 * 60 * 60 * 1000)
        return date
    }
    

      

      

  • 相关阅读:
    查看.NET Core源代码通过Autofac实现依赖注入到Controller属性
    序列化二叉树
    把二叉树打印成多行
    按之字形顺序打印二叉树
    对称的二叉树
    JDK源码阅读顺序
    二叉树的下一个结点
    删除链表中重复的结点
    链表中环的入口结点
    字符流中第一个不重复的字符
  • 原文地址:https://www.cnblogs.com/agen-su/p/14439846.html
Copyright © 2020-2023  润新知