html输入日期算出星座,如何通过日期计算星座

这篇文章详细解析了如何通过日期确定个人所属的星座,包括计算公式和示例,助你快速找到2月18日到12月21日之间的星座归属。使用日期和提供的数组c,找到对应的星座起始月份并应用到实际日期中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这篇文章主要介绍了关于通过日期计算星座,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下起始月份号数星座结束月份号数时间区间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 =23109149√

118158√

127167√

136176√

145√185√

154√194√

163√203

172√212

181√221

190√230

两列中x的交集为 14 -19

取x = 14Date = [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中文网!

相关推荐:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值