判断一个人的年龄是否满足18岁

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaochunblog/article/details/85251327

思路

判断一个人的年龄是否大于18岁,可以分为以下几步:

1、获取当前的年、月、日,并且将年份减去18,得到十八年前的年份;
2、判断月份是否为2月且日大于等于28,如果是,则执行判断18年前是否为平年,若是平年,当前日期为28,若是闰年,当前日期为29.
3、通过new Date方法获取指定时间的日期对象,并获取他的时间戳
4、通过用户选中的时间戳和18年前的时间戳比较,若用户选中时间戳大于18年前时间戳,则用户不满足18周岁,否则满足。

代码附上

/*
* 判断平年闰年
* y:年份数字,四位
* */
function isOrdinaryYear(y) {
    if((y%4===0 && y % 100 !== 0)|| y % 400 === 0 ){
        return false
    }
    return true;
}
/*
* 判断是否满足18岁
* time : 毫秒级时间戳,用户选中日期的时间戳
* */
function satisfy(time) {
    var nowDate = new Date(); // 当前时间
    var mouth = nowDate.getMonth()+1;
    var day = nowDate.getDate();
    var year = nowDate.getFullYear()-18;
    if (mouth === 2 && day >= 28){
        day = isOrdinaryYear(year) ? 28 : 29;
    }
    var oldDate = new Date(year+'-'+mouth+'-'+day).getTime();
    return oldDate < time ? '不满足' : '满足';
}

猜你喜欢

转载自blog.csdn.net/xiaochunblog/article/details/85251327