12 |
22 |
摩羯座 |
1 |
19 |
#12/22 - 1/19 |
1 |
20 |
水瓶座 |
2 |
18 |
1/ 20 - 2/18 |
2 |
19 |
雙魚座 | ##3 | 20 | #2/19 - 3/20 |
3 | 21 | 牡羊座 | 4 | 20 | 3/22 - 4/20 |
4 | 21 | 金牛座##5 | 20 |
4/22 - 5/20 |
|
#5
21 |
雙子座 |
# 6 |
21 |
5/22 - 6/21 |
|
6
22 |
巨蟹座 |
7 |
22 |
6/22 - 7/22 |
|
7
23 |
獅子座 |
8 |
#22 |
7/22 - 8/22 |
|
8
23 |
處女座 |
9 |
22 |
8/22 - 9/22 |
|
9 23 |
天秤座 |
10 |
22 |
9/22 - 10/22 |
|
10
23 |
天蠍座 |
11 |
21 |
10/22 - 11/21 |
|
#11
22 |
射手座 |
12 |
21 |
11/22 - 12/21 | |
12
22 |
摩羯座 |
1 |
19 |
12/22 - 1/ 19 |
|
#一年12月份
抽象化一個陣列
c = [摩羯,水瓶, 双鱼,白羊,金牛,双子,巨蟹,狮子,处女,天秤,天蝎,射手,摩羯]
c 為月份清單
該陣列中序號為1 的水瓶座對應的起始月份為1月
序號為起始月份 或(結束月份- 1)
日期所對應的星座起始月份為日期所在月 或終點月份為此月(即起始月份為日期所在月-1)
為了得出日期對應的星座,我們透過日期來計算對應星座的起始月份
startMonth = month - [(day < Date[month]) ? 1 : 0]
c = [摩羯,水瓶, 双鱼,白羊,金牛,双子,巨蟹,狮子,处女,天秤,天蝎,射手,摩羯]
index = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
Date = [22, 20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]
startMonth - 計算後對應星座的起始月份;
Month - 日期對應的月份;
day - 日期對應的號數;
Date - 月份清單對應的日期列表;
解釋:
對應星座起始月份= 當前月份- [(當前日期是否小於對應月份的日期)是則為1,否則為0]
判斷(日期對應號數3ca075a752ea672daef74769f1038eca '865778999988'
startMonth = month - [(day < Date[month]) ? 1 : 0]
=> month - (day - 14 < '865778999988'.charAt(month))
true 自动变为 1;
true 自动变为 0;
charAt为寻找字符串对应位置的str
最终代码
var date = new Date(2017,1,12);
//设置日期
function getHoroscope(date) {
var c = ['摩羯','水瓶','双鱼','白羊','金牛','双子','巨蟹','狮子','处女','天秤','天蝎','射手','摩羯']
var month = date.getMonth() + 1;
var day = date.getDate();
var startMonth = month - (day - 14 < '865778999988'.charAt(month));
return c[startMonth]
}
getHoroscope(date);
//水瓶
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
js把页面的table标签导出为csv
原生JS和jQuery分别使用jsonp来获取“当前天气信息”