判断是否是余年
getSpecialDays(y) { // 判断是否是余年
if (y % 400 == 0 || (y % 4 == 0 && y % 100 != 0)) { return 29 }
return 28
},
生肖计算
getShengXiao(birth) { // 生肖计算
birth += ''
var len = birth.length
if (len < 4 && len != 2) {
return ''
}
if (len == 2) {
birth - 0 > 30 ? birth = '19' + birth : birth = '20' + birth
}
var year = (new Date(birth)).getFullYear()
var arr = ['猴', '鸡', '狗', '猪', '鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊']
return /^\d{4}$/.test(year) ? arr[year % 12] : ''
},
星座计算
getAstro(m, d) { // 星座计算 getAstro(parseInt('09'), 26)
return '魔羯水瓶双鱼白羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯'.substr(m * 2 - (d < '102223444433'.charAt(m - 1) - -19) * 2, 2)
},
根据出生日期算出年龄
getAge(strBirthday) { // 根据出生日期算出年龄 getAge('1995-09-26')
let returnAge
const strBirthdayArr = strBirthday.split('-')
const birthYear = strBirthdayArr[0]
const birthMonth = strBirthdayArr[1]
const birthDay = strBirthdayArr[2]
const d = new Date()
const nowYear = d.getFullYear()
const nowMonth = d.getMonth() + 1
const nowDay = d.getDate()
if (nowYear == birthYear) {
returnAge = 0// 同年 则为0岁
} else {
var ageDiff = nowYear - birthYear // 年之差
if (ageDiff > 0) {
if (nowMonth == birthMonth) {
var dayDiff = nowDay - birthDay// 日之差
if (dayDiff < 0) {
returnAge = ageDiff - 1
} else {
returnAge = ageDiff
}
} else {
var monthDiff = nowMonth - birthMonth// 月之差
if (monthDiff < 0) {
returnAge = ageDiff - 1
} else {
returnAge = ageDiff
}
}
} else {
returnAge = -1// 返回-1 表示出生日期输入错误 晚于今天
}
}
return returnAge// 返回周岁年龄
},