首頁 > web前端 > js教程 > 如何透過日期計算星座

如何透過日期計算星座

不言
發布: 2018-07-07 10:58:43
原創
2212 人瀏覽過

這篇文章主要介紹了關於透過日期計算星座,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

##320#2/19 - 3/20321牡羊座420 3/22 - 4/20421金牛座#56789 10#1112#

一年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]
判斷(日期對應號數< 起始月份為日期對應月份的星座的起始號數)
例2月18日為水瓶座2月19日為雙子座
18 < 19 (19為2月的雙魚座的起始日期) 小於成立即2 - 1 = 1 一月對應的星座為水瓶座
19 = 19 小於不成立, 2 - 0 = 2 所以為二月對應的星座雙魚座

#簡化列表將日期清單取消
day < Date[month] =》 day - x < Date[month] - x
令y = Date[month] - x ,y需要為個位數
現在起始日期對應的號數最小為19號(雙魚座) 最大為23號(獅子座)
窮舉並且列出表格

起始月份 號數 星座 結束月份 號數 時間區間
12 22 摩羯座 1 19 #12/22 - 1/19
1 20 水瓶座 2 18 1/ 20 - 2/18
2 19 雙魚座
##5 20 4/22 - 5/20
21 雙子座 # 6 21 5/22 - 6/21
22 巨蟹座 7 22 6/22 - 7/22
23 獅子座 8 #22 7/22 - 8/22
23 處女座 9 22 8/22 - 9/22
23 天秤座 10 22 9/22 - 10/22
23 天蠍座 11 21 10/22 - 11/21
22 射手座 12 21 11/22 - 12/21
22 摩羯座 1 19 12/22 - 1/ 19
# yx y = 19x 10 11 1216#7√ 136√#18##5##154√4##163√20172√21
x


y
x y =23
9
14
#9
8
15
#8
7
17#6 145
##√
19
#√
3

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 < &#39;865778999988&#39;.charAt(month))  
true 自动变为 1;  
true 自动变为 0;  
charAt为寻找字符串对应位置的str
登入後複製

最终代码

var date = new Date(2017,1,12);
//设置日期
function getHoroscope(date) {
  var c = [&#39;摩羯&#39;,&#39;水瓶&#39;,&#39;双鱼&#39;,&#39;白羊&#39;,&#39;金牛&#39;,&#39;双子&#39;,&#39;巨蟹&#39;,&#39;狮子&#39;,&#39;处女&#39;,&#39;天秤&#39;,&#39;天蝎&#39;,&#39;射手&#39;,&#39;摩羯&#39;]
  var month = date.getMonth() + 1;
  var day = date.getDate();
  var startMonth = month - (day - 14 < &#39;865778999988&#39;.charAt(month));
  return c[startMonth]
}
getHoroscope(date);
//水瓶
登入後複製

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

js把页面的table标签导出为csv

原生JS和jQuery分别使用jsonp来获取“当前天气信息”

以上是如何透過日期計算星座的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板