函数

498 阅读1分钟

计算星座

十二星座日期对照:

魔羯座(12/22 - 1/19)、水瓶座(1/20 - 2/18)、双鱼座(2/19 - 3/20)、牡羊座(3/21 - 4/20)、
金牛座(4/21 - 5/20)、双子座(5/21 - 6/21)、巨蟹座(6/22 - 7/22)、狮子座(7/23 - 8/22)、
处女座(8/23 - 9/22)、天秤座(9/23 - 10/22)、天蝎座(10/23 - 11/21)、射手座(11/22 - 12/21)   

// 根据生日的月份和日期,计算星座。 
function getAstro(month,day){    
    var s="魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯";
    var arr=[20,19,21,21,21,22,23,23,23,23,22,22];
    return s.substr(month*2-(day<arr[month-1]?2:0),2);
}
function getAstro(m,d){        
    return "魔羯水瓶双鱼牡羊金牛双子巨蟹狮子处女天秤天蝎射手魔羯".substr(m*2-(d<"102223444433".charAt(m-1)- -19)*2,2);
}

//下面写一个测试函数function test(m,d){
    document.writeln(m+"月"+d+"日 "+getAstro(m,d));
}
//测试test(12,21);  //输出: 12月21日 射手
test(12,22);  //输出: 12月22日 魔羯
test(1,1);     //输出: 1月1日 魔羯
test(2,18);   //输出: 2月18日 水瓶
test(2,19);   //输出: 2月19日 双鱼

通过日期计算第几周

weekOfYear(date) {      let year = date.split('-')[0]      let month = date.split('-')[1]      let day = date.split('-')[2]      var date1 = new Date(year, 0, 1)      var date2 = new Date(year, month - 1, day, 1)      var dayMS = 24 * 60 * 60 * 1000      var firstDay = (7 - date1.getDay()) * dayMS      var weekMS = 7 * dayMS      date1 = date1.getTime()      date2 = date2.getTime()      return Math.ceil((date2 - date1 - firstDay) / weekMS) + 1 },

weekOfWeek('2018-05-30')   //22