JS根据日期判断所属星座

效果如下:

完整代码如下:

  1. <!DOCTYPE html>
  2. <html >
  3. <head>
  4. <link rel="stylesheet" href="../dojoroot/dijit/themes/claro/claro.css" media="screen">
  5. <script>dojoConfig = {parseOnLoad: true}</script>
  6. <script type="text/javascript" src="../dojoroot/dojo/dojo.js" djConfig="parseOnLoad:true"></script>
  7. <script>
  8. require([ "dijit/form/DateTextBox", "dojo/date/locale", "dojo/dom", "dojo/domReady!"],
  9. function(DateTextBox, dom){
  10. new DateTextBox({
  11. value: "2016-12-23",//日期初始化
  12. name: "oracle",
  13. onChange:function(v){getValue(v)}//调用判断星座函数
  14. }, "oracle").startup();
  15.  
  16. function getValue(v)
  17. {
  18. var startDateStr = dijit.byId("oracle").get('displayedValue');
  19. //var constellation=document.getElementById("constellation");
  20. //constellation.innerText= startDateStr.substring(0,4)+startDateStr.substring(5,7)+startDateStr.substring(8,10);
  21. //var month=startDateStr.substring(5,7);
  22. //var day=startDateStr.substring(8,10);
  23. var year=startDateStr.substring(0,4)
  24. var date1 = new Date(year, 2, 21);//2016-3-12 2实为3月
  25. var date2 = new Date(year, 3, 19);
  26. var date3 = new Date(year, 4, 20);
  27. var date4 = new Date(year, 5, 21);
  28. var date5 = new Date(year, 6, 22);
  29. var date6 = new Date(year, 7, 22);
  30. var date7 = new Date(year, 8, 22);
  31. var date8 = new Date(year, 9, 23);
  32. var date9 = new Date(year, 10, 22);
  33. var date10 = new Date(year, 11, 21);
  34. var date11 = new Date(year-1,11, 19);//2015-12-23<2016-1-12 用于判断摩羯座
  35. var date12 = new Date(year, 0, 19);
  36. var date13 = new Date(year, 1, 18);
  37. var date14 = new Date(year, 11, 31);//2016-12-29<2016-12-30 用于判断摩羯座
  38. var constl='';
  39. if ((v>=date1) && (v <= date2)) //单个判断语句需要加()
  40. {
  41. constl="白羊座";
  42. }
  43. else if ((v >= date2) && (v <= date3))
  44. {
  45. constl="金牛座";
  46. }
  47. else if ((v >= date3) && (v <= date4))
  48. {
  49. constl="双子座";
  50. }
  51. else if ((v >= date4) && (v <= date5))
  52. {
  53. constl="巨蟹座";
  54. }
  55. else if ((v >= date5) && (v <= date6))
  56. {
  57. constl="狮子座";
  58. }
  59. else if ((v >= date6) && (v <= date7))
  60. {
  61. constl="处女座";
  62. }
  63. else if ((v >= date7) && (v <= date8))
  64. {
  65. constl="天秤座";
  66. }
  67. else if ((v >= date8) && (v <= date9))
  68. {
  69. constl="天蝎座";
  70. }
  71. else if ((v >= date9) && (v <= date10))
  72. {
  73. constl="射手座";
  74. }
  75. else if ((v >= date11) && (v <= date12))
  76. {
  77. constl="魔蝎座";
  78. }
  79. else if ((v >= date10) && (v <= date14))
  80. {
  81. constl="魔蝎座";
  82. }
  83. else if ((v >= date12) && (v <= date13))
  84. {
  85. constl="水瓶座";
  86. }
  87. else if ((v >= date13) && (v <= date1))
  88. {
  89. constl="双鱼座";
  90. }
  91. document.getElementById("constellation").innerText=constl;
  92. };
  93. });
  94. </script>
  95. </head>
  96. <body class="claro">
  97. <label for="date1">日期下拉框:</label>
  98. <input id="oracle" /><br/>
  99. <label id="constellation">星座:</label>
  100. </body>
  101. </html>

需要注意的地方:

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

日期实为2005年3月21日

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

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

3、日期到字符串转换

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

JS星座判断(关于日期)的更多相关文章

  1. 如何用js检测判断时间日期的间距

    <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title&g ...

  2. js中判断对象具体类型

    大家可能知道js中判断对象类型可以用typeof来判断.看下面的情况 <script> alert(typeof 1);//number alert(typeof "2" ...

  3. 分享:JS比较两个日期大小

    发布:thatboy   来源:Net     [大 中 小] 本文介绍下,在javascript代码中,比较两个日期大小的方法,有需要的朋友参考下. 转自:http://www.jbxue.com/ ...

  4. JS代码判断IE6,IE7,IE8,IE9!

    JS代码判断IE6,IE7,IE8,IE9!2011年12月15日 星期四 14:01做网页有时候会用到JS检测IE的版本,下面是检测Microsoft Internet Explorer版本的三种代 ...

  5. JS中判断鼠标按键的问题

    JS中判断鼠标按键的问题.IE左键是 window.event.button = 1右键是 window.event.button = 2中键是 window.event.button = 4没有按键 ...

  6. ----------jqery和js如何判断checkbox是否选中 --------两个单选按钮如何选一个,且用jquery获取被选的值

    jqery和js如何判断checkbox是否选中 jquery: <div id="divId" class="divTable"> <div ...

  7. js/jQuery判断浏览器名称、内核版本、浏览器壳

    1.js方法 /* 判断浏览器名称和版本 目前只能判断:ie/firefox/chrome/opera/safari 2012年5月16日23:47:08 浏览器内核UA:UA; 浏览器内核名称:NV ...

  8. JS/React 判断对象是否为空对象

    JS一般判断对象是否为空,我们可以采用: if(!x)的方式直接判断,但是如果是一个空对象,比如空的JSON对象,是这样的:{},简单的判断是不成功的,因为它已经占用着内存了,如果是JQuery的话, ...

  9. [js开源组件开发]js手机联动选择日期 开源git

    js手机联动选择日期 这里在前面的<js手机联动选择地区>的基础上,改造数据源之后形成的一个日期的选择器,当然你可以使用之前的PC上模式的<日期控件>,它同时也支持手机端,ht ...

随机推荐

  1. Visual SVN Server启动失败0x8007042a错误

    今天在程序VisualSVNServer界面中启动服务时,报错如下:       VisualSVNServerServer service failed to start:服务已返回特定的服务器错误 ...

  2. 由javascript中的this指针所想到的

    初次结识 this 指针,是在学 <<C++ Primer Plus>>这本书的时候(这本书勉强读了一二遍,之后转学 html+css+js了,不过这是后话). 依稀记得书中举 ...

  3. px和em区别-在font-size的 css 的使用

    px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的. em是相对长度单位.相对于当前对象内文本的字体尺寸,多理解父级设定font-size的尺寸.如当前对行内文本的字体尺寸未 ...

  4. dbms_stats包更新、导出、导入、锁定统计信息

    dbms_stats包问世以后,我们可通过一种新的方式来为CBO收集统计数据.目前,已经不再推荐使用老式的Analyze分析表和dbms_utility方法来生成CBO统计数据.dbms_stats能 ...

  5. SQL Server DBA性能优化

    虽然查询速度慢的原因很多,但是如果通过一定的优化,也可以使查询问题得到一定程度的解决. 查询速度慢的原因很多,常见如下几种:1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷)2. ...

  6. Document types require more than xhtml1.0

    这个东西只会在比较低版本的浏览器中会出现,比如IE7及以下会出这个错误. 错误的根源是html页面没有考虑浏览器兼容性问题. 在页面头部加入下面的内容即可解决标题中的问题 <!DOCTYPE h ...

  7. linux知识

    1. linux dns配置文件为 /etc/resolv.conf nameserver 114.114.114.114    国内常用(而国外常用8.8.8.8) 2. Linux 服务器名词与p ...

  8. is not in the sudoers file 问题解决【转载】

    解决方案:首需要切换到root身份$su - 或者 $sudo -s (注意有- ,这和su是不同的,在用命令"su"的时候只是切换到root,但没有把root的环境变量传过去,还 ...

  9. PIC32MZ tutorial -- Hello World

    Today I implement "Hello World" on PIC32MZ EC starter kit. The application of "Hello ...

  10. SQL Server添加MDW性能监控报表(转载)

    10.2 Data Collector与MDW Data Collection功能是SQL SERVER 2005版本提供的数据库监控报表的功能,通过定时地对数据库的语句运行情况,服务器各种资源的监控 ...