zoukankan      html  css  js  c++  java
  • 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();
              }
  • 相关阅读:
    [转]一致性hash算法
    [转]算法的时间复杂度和空间复杂度详解
    [转]B树(多向平衡查找树)详解
    spring中ApplicationContextAware接口描述
    [转]web.xml中<url-pattern>详解
    [转]linux中vim命令
    [转]Java GC的原理
    [转]浅谈UML的概念和模型之UML九种图
    Jmeter做读取csv接口测试
    IDLE崩溃:IDLE's subprocess didn't make connection. Either IDLE can't start a...
  • 原文地址:https://www.cnblogs.com/GIScore/p/5744501.html
Copyright © 2011-2022 走看看