zoukankan      html  css  js  c++  java
  • js 获取年、月、周、当前日期第几周、这月有那几周

    查看当前日期是第几周:https://wannianli.tianqi.com/today/zhou/

    //获取完整的日期 
    
    var date=new Date;
    
    var y = date.getFullYear()
    var m = date.getMonth() + 1
    
    var temptime="";
    
    temptime= new Date(y - 2, m, d)   // 往前一年
    
    temptime= new Date(y , m+4-1, d)  //往后4个月 
    获取当前第几周
    
            function theWeek() {
                var totalDays = 0;
                now = new Date();
                years = now.getYear()
                if (years < 1000)
                    years += 1900
                var days = new Array(12);
                days[0] = 31;
                days[2] = 31;
                days[3] = 30;
                days[4] = 31;
                days[5] = 30;
                days[6] = 31;
                days[7] = 31;
                days[8] = 30;
                days[9] = 31;
                days[10] = 30;
                days[11] = 31;
                //判断是否为闰年,针对2月的天数进行计算
                if (Math.round(now.getYear() / 4) == now.getYear() / 4) {
                    days[1] = 29
                } else {
                    days[1] = 28
                }
                if (now.getMonth() == 0) {
                    totalDays = totalDays + now.getDate();
                } else {
                    var curMonth = now.getMonth();
                    for (var count = 1; count <= curMonth; count++) {
                        totalDays = totalDays + days[count - 1];
                    }
                    totalDays = totalDays + now.getDate();
                }
                //得到第几周
                var week = Math.round(totalDays / 7);
                return week;
            }
    获取当月有那几周
    
            function GetCustomWeekList(year, month) {
                var rtn_Weeks = [];
    
                // 获取当月属于当年的第几周
                function getWeek(dt) {
                    let d1 = new Date(dt);
                    let d2 = new Date(dt);
                    d2.setMonth(0);
                    d2.setDate(1);
                    let rq = d1 - d2;
                    let days = Math.ceil(rq / (24 * 60 * 60 * 1000));
                    let num = Math.ceil(days / 7);
                    return num;
                }
                //获取当前月有几周
                function getMonthWeek(a, b, c) {
                    var date = new Date(a, parseInt(b) - 1, c), w = date.getDay(), d = date.getDate();
                    return Math.ceil(
                        (d + 6 - w) / 7
                    );
                };
                var last = new Date(year, month, 0);//获取当前月最后一天时间
                var y = last.getYear();
                var m = last.getMonth() + 1;
                var d = last.getDate();
    
                var ss = getWeek(year + "-" + month + "-1")
                for (var i = 0; i < getMonthWeek(y, m, d); i++) {
                    item = [];
                    item.push(ss + i);
                    rtn_Weeks.push(item);
                }
                return rtn_Weeks;
            }
  • 相关阅读:
    021.day21 反射 Class类 反射常用操作
    020.day20 线程概述 多线程优缺点 线程的创建 线程常用方法 生命周期 多线程同步
    019.day19 缓冲流 对象流 标准输入输出流
    018.day18 map集合如何实现排序 File类 IO流 字节流 字符流 编码
    017.day17 Map接口 克隆 treeSet集合排重缺陷
    016.day16 HashSet TreeSet 比较器Comparable Comparator
    015.day15
    014.day14
    013.day13
    线程
  • 原文地址:https://www.cnblogs.com/chenyanbin/p/12363513.html
Copyright © 2011-2022 走看看