题目描述:制作一个函数,getDayNum( 年月日日期 ),可以返回指定日期是当前年的第几天例: getDayNum( “2019-1-2”) 返回值为:当年第2天

        //         题目描述:制作一个函数,getDayNum( 年月日日期 ),可以返回指定日期是当前年的第几天

        // ​	例:  getDayNum( “2019-1-2”)    返回值为:2

        /* var date = new Date(); // 当前的系统的时间和日期
                console.log(date.getFullYear());// 年份
                console.log(date.getMonth()); // 月份,从0开始
                console.log(date.getDate()); // 当前天数
                console.log(date.getHours()); // 小时,0-23
                console.log(date.getMinutes()); // 分钟 , 0-59
                console.log(date.getSeconds()); // 秒数 , 0-59
                console.log(date.getMilliseconds()); //毫秒 0-999        1000毫秒=1秒
                
                返回距 1970 年 1 月 1 日之间的毫秒数
                date.getTime()
                或者
                +date  也可以获取距 1970 年 1 月 1 日之间的毫秒数
                
                var date = new Date();
                console.log(date.getDate()); 
                1.传入不同的年月日时分秒
                var d1 = new Date(2020,0,1,8,30,59); // 2020年1月1日 8:30:59
        
                2.传入一个指定的字符串
                var d2 = new Date('2020-01-01');
        
                3.传入一个 大的数字 -- 从1970年1月1日开始到某个日期的总共的毫秒数
                var d3 = new Date(1378594320999); 
        */
        /* 
        题目描述:制作一个函数,getDayNum( 年月日日期 ),可以返回指定日期是当前年的第几天
              例:  getDayNum( “2019-1-2”)    返回值为:2
        */
        /* 
                var date1 = new Date('2021-01-09');  //   具体某一天   即 2021-01-09   
                //   
                console.log(date1);    //  Fri Jan 09 2021 08:00:00 GMT+0800 (中国标准时间)
        
                var nowDay = date1.getTime();   //  这里得到的是, 具体时间 即2021-01-09 距离 1970 年 1 月 1 日 到今的毫秒数
                console.log(old);  //1970 年 1 月 1 日 到 2021-01-09 

                var nian = str.split("-")[0];  // 在最前面,输入的具体某一天是字符串,用 str 来表示它, 可以获取前面的年份, 获取年份  xxxx 
                nian += "-01-01";   // 然后把 年份和 "-01-01" 拼接成字符串  "2021-01-01"
        
                var date2 = new Date( nian );//  // 
                console.log(date2); // 当前时间
        
                var oldDay = date2.getTime();  // 得到 nian 到 1970-01-01 的总毫秒数
        
                // 1970年1-1到用输入的年月日 总毫秒数  -  1970年到 输入年的1月1日的总毫秒数
                day = (nowDay - oldDay) / 1000 / 60 / 60 / 24   + 1;    //  毫秒数之差 换算成 天数 一天 24 小时,一小时 3600秒
                console.log("现在是当前年的第:" + day + "天");
         */



        //  时间已经求出来了,怎么封装函数,需要传入参数
        function getDayNum(str) {
            var date1 = new Date(str);  //   具体某一天    
            //console.log(date1.getDate());
            var newDay = date1.getTime();   //  这里得到的是,输入的具体时间  距离 1970 年 1 月 1 日 的总毫秒数
//console.log(newDay);

            // 把传入的字符串,切割开,取年份,拼接成  xxxx-01-01  输入的年份的1月1日
            var nian = str.split("-")[0];      // 获取年份  xxxx
            nian += "-01-01";
console.log(nian);
            var date2 = new Date(nian);//  不写参数,默认是当前时间   这里应该是 输入时间的开年
            console.log(date2);
            var oldDay = date2.getTime();   // 1970年到用 前面 xxxx-01-01  的总毫秒数   前面年份的1月1日零时零分零秒
console.log(oldDay);
            day = (newDay - oldDay) / 1000 / 60 / 60 / 24;    //  毫秒数之差 换算成 天数 一天 24 小时,一小时 3600秒
            // 天数用整数,取整
            day = Math.ceil(Number(day))+1;
            return str + "是当前年份的第:" + day + "天";
        }
        var str = prompt("请输入一个时间:格式为这样:1999-01-01")
        //var nian = str.split("-")[0];


        alert(getDayNum(str));

 

你可能感兴趣的:(JS,js)