1 | 19 | 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 - 対応する星座の計算された開始月
Month - 月;日付に対応する;
day - 日付に対応する数値;
Date - 月リストに対応する日付
説明:
対応する星座の開始月 = 現在の月 - [(現在の日付が該当する月の日付)の場合は1、そうでない場合は0】
判定(日付が対応する数字<開始月が日付その月に対応する星座の開始番号)
についてたとえば、2月18日は水瓶座、2月19日は双子座です
18 19 = 19 は true より小さい, 2 - 0 = 2 なので、2 月に対応する星座は魚座です
リストを単純化して日付リストをキャンセルします
day dd58abf61f2435dff8d5453858c9d268 '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来获取“当前天气信息”