最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

如何通过日期计算星座

来源:动视网 责编:小采 时间:2020-11-27 19:34:08
文档

如何通过日期计算星座

如何通过日期计算星座:这篇文章主要介绍了关于通过日期计算星座,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下起始月份号数星座结束月份号数时间区间1222摩羯座11912/22 - 1/19120水瓶座2181/20 - 2/18219双鱼座3202/19 - 3/20321白羊座4203/
推荐度:
导读如何通过日期计算星座:这篇文章主要介绍了关于通过日期计算星座,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下起始月份号数星座结束月份号数时间区间1222摩羯座11912/22 - 1/19120水瓶座2181/20 - 2/18219双鱼座3202/19 - 3/20321白羊座4203/


这篇文章主要介绍了关于通过日期计算星座,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

起始月份号数星座结束月份号数时间区间
1222摩羯座11912/22 - 1/19
120水瓶座2181/20 - 2/18
219双鱼座3202/19 - 3/20
321白羊座4203/22 - 4/20
421金牛座5204/22 - 5/20
521双子座6215/22 - 6/21
622巨蟹座7226/22 - 7/22
723狮子座8227/22 - 8/22
823处女座9228/22 - 9/22
923天秤座10229/22 - 10/22
1023天蝎座112110/22 - 11/21
1122射手座122111/22 - 12/21
1222摩羯座11912/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]
判断(日期对应号数 < 起始月份为日期对应月份的星座的起始号数)
例子 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号(狮子座)
穷举并且列出表格

xyx + y = 19xyx + y =23
109
149
118
158
127
167
136
176
145185
154194
163203
172212
181221
190230

两列中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);
//水瓶

文档

如何通过日期计算星座

如何通过日期计算星座:这篇文章主要介绍了关于通过日期计算星座,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下起始月份号数星座结束月份号数时间区间1222摩羯座11912/22 - 1/19120水瓶座2181/20 - 2/18219双鱼座3202/19 - 3/20321白羊座4203/
推荐度:
标签: 时间 如何 日期
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top