判斷一個人的年齡是否滿足18歲
阿新 • • 發佈:2018-12-26
思路
判斷一個人的年齡是否大於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 ? '不滿足' : '滿足'; }