• 时间对象学习---以创建时间对象,设置跨越限制,获取星期,转化时间对象和字符串为例


    一、创建日期

           常用方法:

      new Date() //当前时间和日期;

      new Date(milliseconds) //返回从1970年1月1日至今的毫秒数;

           new Date(year,month,day,hours,minutes,seconds,milliseconds)

      new Date(dateString)

        dataString可以分为三种:

        英文和数字结合,例如:var d1 = new Date("October 13,1975 11:13:00");

                   斜杠和冒号分割,例如:var d2 = new Date("2017/9/25 21:49:49")  注:这种方式在谷歌和ie浏览器都支持(火狐欧朋为测试);  通过d3.getTime()可以得到1970年1月1日至今的毫秒数;

        横杠和冒号分割,例如:var d3 = new Date("2017-9-25 21:50:02")   注:这种方式谷歌  通过d3.getTime()可以得到1970年1月1日至今的毫秒数;ie8/9无法获取到毫秒数

               可以使用字符串替换转换格式,string_d.replace(/-/g,"/");

    二、设置跨月限制

      var limitTime = function(startTime,endTime,limitMonth){

        var that = this;

        //根据传入的时间格式分解时间字符串

        if(!startTime||!endTime) return "emptyTime";

                   var ytd,hms;

                   if(startTime.split(' ').length>1){

          ytd = startTime.split(' ')[0];

          hms = startTime.split(' ')[1];

        }else{

          ytd = startTime;

        }  

        var arr_time = ytd.split('-'),//此处为时间分割符

          //获取开始时间

          year = arr_time[0],

          month = arr_time[1],

             day = arr_time[2];

          //计算limit限制的结束日期

          var last_year = year,

                last_month = Number(month) + limitMonth;

            if(last_month>=13){

              last_year = Number(last_year)+Math.floor(last_month/12);

              last_month = last_month%12;

            }

            var last_day = day,

               last_month = last_month-1;

                                 //获取结束时间的月的天数

            var _days = new Date(last_year,last_month,0)

            var last_day是= _days.getDate();

            if(last_day>last_days){

             last_day = last_days;

             }

            if(hms){

              hms = hms.replace(/s+/g,"").split(":");

              var lastTime = new Date(Number(last_year),Number(last_month),Number(last_day),Number(hms[0]),Number(hms[1]),Number(hms[2])).getTime();

            }else{

              var lastTime = new Date(Number(last_year),Number(last_month),Number(last_day)).getTime();
            };

           var end_time = new Date(endTime.replace(new RegExp("-","gm"),"/"));

                              if(end_time.getTime()>lastTime){

            return true;

                              }else{

            return false;

            }

           }

  • 相关阅读:
    谈谈最近求职的那些事
    新的一年你该如何起飞
    JavaScript原型链和instanceof运算符的暧昧关系
    (译)详解javascript立即执行函数表达式(IIFE)
    一道有意思的笔试题引发的对于new操作符的思考
    javascript中prototype、constructor以及__proto__之间的三角关系
    这10道javascript笔试题你都会么
    汤姆大叔的6道javascript编程题题解
    打字机游戏Ⅱ之手速pk
    css3实践之摩天轮式图片轮播+3D正方体+3D标签云(perspective、transform-style、perspective-origin)
  • 原文地址:https://www.cnblogs.com/lizhiwei8/p/7594169.html
Copyright © 2020-2023  润新知