进入我的主页,查看更多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 //输出:巨蟹一开始用百度百科的星座日期,敲完代码后,就去搜索关于星座的内容(老习惯了)
然后...怎么在不同的网站,对星座的日期还不一样啊???这就是标题上的疑问,真的是好奇妙啊~
你们是怎么解决的?
