1. 程式人生 > >判斷一個人的年齡是否滿足18歲

判斷一個人的年齡是否滿足18歲

思路

判斷一個人的年齡是否大於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 ? '不滿足' : '滿足';
}