JS:获取星座,并且提出了一个疑问

进入我的主页,查看更多JS的分享!

我的代码有多短,本文章就有多短!(ㅍ_ㅍ)

先贴上代码:

/**
 * 转换:星座
 * 百度百科:
 * ["1222-0120", "0121-0219", "0220-0320", "0321-0420", "0421-0521", "0522-0621", "0622-0722", "0723-0822", "0823-0922", "0923-1023", "1024-1122", "1123-1221"]
 * 百度百科,美索不达米亚占星术:
 * ["1222-0120", "0121-0219", "0220-0320", "0321-0420", "0421-0521", "0522-0621", "0622-0722", "0723-0823", "0824-0923", "0924-1023", "1024-1122", "1123-1221"];
 * 新浪:
 * ["1222-0120", "0121-0219", "0220-0320", "0321-0420", "0421-0521", "0522-0621", "0622-0722", "0723-0823", "0824-0923", "0924-1023", "1024-1122", "1123-1221"]
 * 第一星座网:
 * ["1222-0119", "0120-0218", "0219-0320", "0321-0419", "0420-0520", "0521-0621", "0622-0722", "0723-0822", "0823-0922", "0923-1023", "1024-1122", "1123-1221"]
 */
var constellation = (date = new Date()) = >{
  const XZDate = ["1222-0120", "0121-0219", "0220-0320", "0321-0420", "0421-0521", "0522-0621", "0622-0722", "0723-0822", "0823-0922", "0923-1023", "1024-1122", "1123-1221"];
  const XZText = ["魔羯", "水瓶", "双鱼", "白羊", "金牛", "双子", "巨蟹", "狮子", "处女", "天秤", "天蝎", "射手"];
  let t = formatNumber(date.getMonth() + 1) + formatNumber(date.getDate());
  let index;
  if (t <= "0120") {
    index = 0;
  } else {
    index = XZDate.findIndex((item) = >{
      let arr = item.split("-");
      return t >= arr[0] && t <= arr[1];
    });
  }
  return XZText[index];
};

// 格式化:日期数字
var formatNumber = (n) = >{
  n = n.toString();
  return n[1] ? n: "0" + n;
};

思路:获取当前日期,以指定的格式与星座的日期数组进行对比,满足条件则得到了索引,最终得到星座文本。

运行:

let t = new Date().getTime() + 1000 * 60 * 60 * 24 * 0;
console.log(constellation(new Date(t)));
//2020-7-4
//输出:巨蟹

一开始用百度百科的星座日期,敲完代码后,就去搜索关于星座的内容(老习惯了)

然后...怎么在不同的网站,对星座的日期还不一样啊???这就是标题上的疑问,真的是好奇妙啊~

你们是怎么解决的?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值