美文网首页
日期比较相关

日期比较相关

作者: overflow_hidden | 来源:发表于2019-08-14 17:10 被阅读0次
    /**
     * 传入身份证号码和num.获取出生日期,性别跟年龄
     * @param UUserCard 身份证号码
     * @param num 1获取出生日期
     *            2 获取性别
     *            3 获取年龄,年龄小于1岁的时候默认为1岁
     * @returns {*}
     * @constructor
     */
    function IdCard(UUserCard,num){
        if(num==1){
            //获取出生日期
            birth=UUserCard.substring(6, 10) + "-" + UUserCard.substring(10, 12) + "-" + UUserCard.substring(12, 14);
            return birth;
        }
        if(num==2){
            //获取性别
            if (parseInt(UUserCard.substr(16, 1)) % 2 == 1) {
                //男
                return "男";
            } else {
                //女
                return "女";
            }
        }
        if(num==3){
            //获取年龄
            var myDate = new Date();
            var month = myDate.getMonth() + 1;
            var day = myDate.getDate();
            var age = myDate.getFullYear() -   UUserCard.substring(6, 10) - 1;
            if (UUserCard.substring(10, 12) < month || UUserCard.substring(10, 12) == month && UUserCard.substring(12, 14) <= day) {
                age++;
            }
            if(age <= 0){
                age = 1;
            }
            return age;
        }
    }
    
    
    
    /**
    * 获取自然天数间隔
    *
    * @param  {String} startTime 开始时间
    * @param  {String} endTime   结束时间
    * @return {Number}           差值
    */
    utilsTime.getNaturalDayDiff = function(startTime, endTime) {
       //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式
       startTime = startTime.replace(/\-/g, "/");
       endTime = endTime.replace(/\-/g, "/");
       // console.log("getDateDiff", startTime, endTime);
       var sTime = new Date(startTime.slice(0, 10));      //开始时间
       var eTime = new Date(endTime.slice(0, 10));  //结束时间
       // console.log("getDateDiff", startTime, endTime);
       //作为除数的数字
       divNum = 1000 * 3600 * 24;
       return parseInt((eTime.getTime() - sTime.getTime()) / parseInt(divNum));
    };
    
    
    
    /**
     * 获取两个日期之间间隔的年数
     * @param  {String} startTime 开始时间 xxxx-xx-xx
     * @param  {String} endTime   结束时间 xxxx-xx-xx
     */
    utilsTime.getYearDiff = function(startTime,endTime){
      let days = utilsTime.getNaturalDayDiff(startTime,endTime);
      let oldYear = startTime.split("-")[0];
      let thisYear = endTime.split("-")[0];
      var number_of_long_years = 0;
      for(var y=oldYear; y <= thisYear; y++){
        if( (y % 4 == 0 && y % 100 == 0) || y % 400 == 0 ) {
          number_of_long_years++;
        }
      }
      let years = (
        (days)*(thisYear-oldYear))/
        ((number_of_long_years*366)+((thisYear-oldYear-number_of_long_years)*365));
       if(!years){
         return 0;
       }else{
        return parseInt(years);
       }
    }
    
    

    相关文章

      网友评论

          本文标题:日期比较相关

          本文链接:https://www.haomeiwen.com/subject/ioqxrctx.html