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();
}

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. 《统计推断(Statistical Inference)》读书笔记——第3章 统计分布族

    在科学研究中最重要的两种思维范式是“简化”和“还原”,所谓“简化”是指人依据不太复杂的,可理解的规律认识世界:所谓“还原”是指任何复杂的现象归根结底可以由若干简单的机制解释.各种统计分布族就是统计学中 ...

  2. 论文笔记之:A CNN Cascade for Landmark Guided Semantic Part Segmentation

    A CNN Cascade for Landmark Guided Semantic Part Segmentation  ECCV 2016 摘要:本文提出了一种 CNN cascade (CNN ...

  3. 【Unity3D基础教程】给初学者看的Unity教程(零):如何学习Unity3D

    作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点推荐.谢谢! Unity3D有什么优势 Unity3D是一个跨 ...

  4. MySQL存储过程调试工具-dbForge Studio for MySQL

    工具官网地址:http://www.devart.com/dbforge/mysql/studio/ 对于某些存储过程很多且复杂的SQL的应用,在短时间内要使得所有MySQL存储过程和函数正常运行,那 ...

  5. Win7 Update 遭遇8024200D

    可用办法如下: 1.点击开始菜单,点运行,输入cmd然后按回车.然后在命令行下输入: net stop WuAuServ 2.点击开始菜单,点运行,输入%windir%然后按回车. 3.在打开的文件夹 ...

  6. jQuery使用load方法加载其他文档内容

    A文档载入B文档的内容,并且通过JQ操作被引入到A文档中的元素 A文档 (index.html): <!DOCTYPE html> <html lang="en" ...

  7. 使用新浪云(SAE)实现基于mySql和微信公众平台的关键字请求响应服务

    本例是作者初次尝试微信公众平台开发之作,实现传统的关键字请求响应功能.即:用户发关键字,公众号通过关键字进行检索, 在mysql数据库中读取与关键字相关的信息,并返回给用户.本例在微信订阅号(开发者模 ...

  8. List集合中的对象根据属性排序

    集合类List存放的数据,默认是按照放入时的顺序存放的,比如依次放入A.B.C,则取得时候,则也是A.B.C的顺序,实际场景中,有时我们需要根据自定义的规则对List中的元素进行排序,该如何实现呢?看 ...

  9. [POJ 1988] Cube Stacking (带值的并查集)

    题目链接:http://poj.org/problem?id=1988 题目大意:给你N个方块,编号从1到N,有两种操作,第一种是M(x,y),意思是将x所在的堆放到y所在的堆上面. 第二种是C(x) ...

  10. Mono addin 学习笔记 4 再论数据扩展点(Data only extension point)

    1. Attribute声明方式 定义扩展属性 [AttributeUsage(AttributeTargets.Assembly, AllowMultiple= true)] public clas ...