이 글은 주로 날짜를 통한 별자리 계산을 소개하는데, 이는 특정 참고 가치가 있습니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들은 그것을 참고할 수 있습니다
시작 달 | 숫자 | 별자리 | 끝나는 달 | 번호 | 시간 간격 |
---|---|---|---|---|---|
12 | 22 | Capricorn | 1 | 19 | 12/22 - 1/19 |
1 | 20 | 물병자리 | 2 | 18 | 1/20 - 2/18 |
2 | 19 | Pisces | 3 | 20 | 2/19 - 3/20 |
3 | 21 | 양자리 | 4 | 20 | 3/22 - 4/20 |
4 | 21 | Taurus | 5 | 20 | 4/22 - 5/20 |
5 | 21 | 쌍둥이자리 | 6 | 21 | 5/22 - 6/21 |
6 | 22 | Cancer | 7 | 22 | 6/22 - 7/22 |
7 | 23 | Leo | 8 | 22 | 7/22 - 8/22 |
8 | 23 | Virgo | 9 | 22 | 8/22 - 9/2 2 |
9 | 23 | Libra | 10 | 22 | 9/22 - 10/22 |
10 | 23 | Scorpio | 11 | 21 | 10/22 - 11/21 |
11 | 22 | 궁수자리 | 12 | 21 | 11/22 - 12/21 |
12 | 22 | 염소자리 | 1 | 1 9 | 12/22 - 1/19 |
1년은 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 - 해당 별자리의 계산된 시작 월
월 - 월;
day - 날짜에 해당하는 숫자
Date - 월 목록에 해당하는 날짜 목록
설명:
해당 별자리 시작 월 = 현재 월 - [(현재 날짜가 해당 월의 날짜), 그렇다면 1, 그렇지 않으면 0]
판결 (날짜는 숫자에 해당합니다 < 시작 달은 날짜 해당 달에 해당하는 별자리의 시작 숫자)
의 경우 예를 들어, 2월 18일은 물병자리이고 2월 19일은 쌍둥이자리
18 < 19(19는 2월 물고기자리의 시작일) 2보다 작음 - 1 = 1 1월에 해당하는 별자리는 물병자리
19 = 19가 참보다 작습니다. , 2 - 0 = 2이므로 2월에 해당하는 별자리는 물고기자리입니다
목록을 단순화하고 날짜 목록을 취소하세요
day < Date[month] =》 day - x < y - x
Let y = 날짜[월] - x, y는 한자리여야 합니다
현재 시작일에 해당하는 최소 숫자는 19일(물고기자리)이고 최대값은 23일(사자자리)입니다
전체 목록 그리고 표를 나열하세요
x | y | x + y = 19 | x | y | x + y =23 |
---|---|---|---|---|---|
10 | 9 | 14 | 9 | √ | |
11 | 8 | 15 | 8 | √ | |
12 | 7 | 16 | 7 | √ | |
13 | 6 | 17 | 6 | √ | |
14 | 5 | √ | 18 | 5 | √ |
15 | 4 | √ | 19 | 4 | √ |
16 | 3 | √ | 20 | 3 | |
17 | 2 | √ | 21 | 2 | |
18 | 1 | √ | 22 | 1 | |
19 | 0 | √ | 23 | 0 |
两列中x的交集为 14 -19
取x = 14
Date = [22, 20, 19, 21, 21, 21, 22, 23, 23, 23, 23, 22, 22]
date - 14
最后列表为8,6,5,7,7,8,9,9,9,9,8,8 => '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和jQuery分别使用jsonp来获取“当前天气信息”
위 내용은 날짜부터 운세를 계산하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!