JS星座判断(关于日期)

JS根据日期判断所属星座

效果如下:

 

完整代码如下:

<!DOCTYPE html>
<html >
<head>
    <link rel="stylesheet" href="../dojoroot/dijit/themes/claro/claro.css" media="screen">
    <script>dojoConfig = {parseOnLoad: true}</script>
    <script type="text/javascript" src="../dojoroot/dojo/dojo.js" djConfig="parseOnLoad:true"></script>
    <script>
             require([ "dijit/form/DateTextBox", "dojo/date/locale", "dojo/dom", "dojo/domReady!"],
            function(DateTextBox, dom){
            new DateTextBox({
                value: "2016-12-23",//日期初始化
                name: "oracle",
                onChange:function(v){getValue(v)}//调用判断星座函数
            }, "oracle").startup();
            
            function getValue(v)
            {
               var startDateStr = dijit.byId("oracle").get('displayedValue');
               //var constellation=document.getElementById("constellation");
               //constellation.innerText= startDateStr.substring(0,4)+startDateStr.substring(5,7)+startDateStr.substring(8,10);
              //var month=startDateStr.substring(5,7);
               //var day=startDateStr.substring(8,10);
               var year=startDateStr.substring(0,4)
               var date1 = new Date(year, 2, 21);//2016-3-12    2实为3月
               var date2 = new Date(year, 3, 19);
               var date3 = new Date(year, 4, 20);
               var date4 = new Date(year, 5, 21);
               var date5 = new Date(year, 6, 22);
               var date6 = new Date(year, 7, 22);
               var date7 = new Date(year, 8, 22);
               var date8 = new Date(year, 9, 23);
               var date9 = new Date(year, 10, 22);
               var date10 = new Date(year, 11, 21);
               var date11 = new Date(year-1,11, 19);//2015-12-23<2016-1-12  用于判断摩羯座
               var date12 = new Date(year, 0, 19);
               var date13 = new Date(year, 1, 18);
               var date14 = new Date(year, 11, 31);//2016-12-29<2016-12-30   用于判断摩羯座 
               var constl='';
               if ((v>=date1) && (v <= date2)) //单个判断语句需要加()
                {
                    constl="白羊座";
                }
                else if ((v >= date2) && (v <= date3))
                {
                    constl="金牛座";
                }
                else if ((v >= date3) && (v <= date4))
                {
                    constl="双子座";
                }
                else if ((v >= date4) && (v <= date5))
                {
                    constl="巨蟹座";
                }
                else if ((v >= date5) && (v <= date6))
                {
                    constl="狮子座";
                }
                else if ((v >= date6) && (v <= date7))
                {
                    constl="处女座";
                }
                else if ((v >= date7) && (v <= date8))
                {
                    constl="天秤座";
                }
                else if ((v >= date8) && (v <= date9))
                {
                    constl="天蝎座";
                }
                else if ((v >= date9) && (v <= date10))
                {
                    constl="射手座";
                }
                else if ((v >= date11) && (v <= date12))
                {
                    constl="魔蝎座";
                }
                else if ((v >= date10) && (v <= date14))
                {
                    constl="魔蝎座";
                }
                else if ((v >= date12) && (v <= date13))
                {
                    constl="水瓶座";
                }
                else if ((v >= date13) && (v <= date1))
                {
                    constl="双鱼座";
                }
                document.getElementById("constellation").innerText=constl;
            };
});
    </script>
</head>
<body class="claro">
    <label for="date1">日期下拉框:</label>
    <input id="oracle" /><br/>
    <label id="constellation">星座:</label>
</body>
</html>

需要注意的地方:

1、在初始化日期的时候:var date1 = new Date(2005, 2, 21);

日期实为2005年3月21日

2、在加&&判断的时候,单个判断语句需要加括号

 

     if ((v>=date1) && (v <= date2)) //单个判断语句需要加()
     {
        constl="白羊座";
     }

 3、日期到字符串转换

 function formatDate(time)
         {
            var month = time.getMonth()+1;
           return time.getFullYear() + "-" + month + "-" + time.getDate() + " " + time.getHours() + ":" + time.getMinutes() + ":" + time.getSeconds();
          }

 

posted on 2016-08-06 17:27  Geography爱好者  阅读(1959)  评论(0编辑  收藏  举报

导航