JavaScript计算某一天是星期几的方法

本文实例讲述了JavaScript计算某一天是星期几的方法分享给大家供大家参考。具体如下:

JavaScript计算某一天是星期几,文本框中是默认值 ,只要按此种格式输入日期时间,就可以推算出当天是星期几,一个简单的JS时间计算实例,运行本效果后,只需点击“计算”按钮即可显示效果,这样我们就能很快的知道某一天是星期几了。

运行效果图如下:

<html>
<head>
<title>计算某一天是星期几</title>
<style type="text/css">
.style5 {font-size: 12px}
</style>
</head>
<script language="javascript">
function checktext()
{
 if((form1.yeartext.value == "") && (form1.monthtext.value == "") && (form1.datetext.value == ""))
 {
 alert("请输入相关信息!");
 form1.yeartext.focus();return;
 }
 if((form1.yeartext.value.length !=4 ) && (form1.monthtext.value.length !=1 ) && (form1.datetext.value.length !=1 ))
 {
 alert("输入错误,只能输入4位数!");
 form1.yeartext.focus();return;
 }
}
function mod(x,x_div)
{
 for (var i=x; i>=x_div; i -= x_div);
 return i;
}
function getday()
{
 var currentyear = parseInt(form1.yeartext.value,10);
 var currentmonth = parseInt(form1.monthtext.value,10);
 var currentday = parseInt(form1.datetext.value,10);
 var sig_val;
 var begindate = new Array(0,3,6,1,4,2,5,5);
 var rundate = new Array(-1,-1,4);
 var Pmonth = new Array(29,31,28,30,31)
 var montharray = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六");
 sig_val =begindate[currentmonth - 1];
 var val1 = mod((currentyear + parseInt(currentyear/4) + currentday + sig_val)-2,7);
 var M=parseInt(document.all.monthtext.value);
 var D=parseInt(document.all.datetext.value);
 if ((currentyear%4==0 && currentyear%100!=0)||(currentyear%400==0))
 {
 if ((M<13)&&(M>0)){
  if ((M==2)&&(D>Pmonth[0])){alert('输入错误');document.all.resulttext.value='';}
  else{
  if ((D>Pmonth[M])&&(M!=2)){alert('输入错误');document.all.resulttext.value='';}
  else{
  sig_val =rundate[currentmonth - 1];
  val1 = mod((currentyear + parseInt(currentyear/4) + currentday + sig_val)-2,7);
  if (M>2){val1+=1;}
  form1.resulttext.value =montharray[val1];
  }
  }
 }else{alert('输入错误');document.all.resulttext.value='';}
 }
 else
 {
 if ((M<13)&&(M>0)){
  if (D>Pmonth[M]){alert('输入错误');document.all.resulttext.value='';}
  else{form1.resulttext.value =montharray[val1];}
 }else{alert('输入错误');document.all.resulttext.value='';}
 }
}
</script>
<body>
<center>
<form name="form1" method="post" action="">
 <table width="308" border="1" cellpadding="3" cellspacing="1" bordercolor="#33CCFF" bgcolor="#CCFFFF">
   <tr bgcolor="#FFFFFF">
    <td align="center" class="style5">输入年:</td>
    <td width="170"><input name="yeartext" type="text" id="yeartext" value="2016"></td>
   </tr>
   <tr bgcolor="#FFFFFF">
    <td align="center" class="style5">输入月:</td>
    <td><input name="monthtext" type="text" value="2"></td>
   </tr>
   <tr bgcolor="#FFFFFF">
    <td align="center" class="style5">输入日:</td>
    <td><input name="datetext" type="text" value="2"></td>
   </tr>
   <tr bgcolor="#FFFFFF">
    <td align="center"><span class="style5">星  期:</span></td>
    <td><input name="resulttext" type="text" id="resulttext"></td>
   </tr>
   <tr align="center" bgcolor="#FFFFFF">
    <td colspan="2">
 <div align="right">
     <input name="enter" type="button" value="计算" onClick="checktext();getday();">
    </div>
</td>
   </tr>
  </table>
 </form>
</center>
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

相关文章

事件冒泡和事件捕获 起因:今天在封装一个bind函数的时候,发现el.addEventListener函数支持第三个参数...
js小数运算会出现精度问题 js number类型 JS 数字类型只有number类型,number类型相当于其他强类型语言...
什么是跨域 跨域 : 广义的跨域包含一下内容 : 1.资源跳转(链接跳转,重定向跳转,表单提交) 2.资源...
@ &quot;TOC&quot; 常见对base64的认知(不完全正确) 首先对base64常见的认知,也是须知的必须有...
搞懂:MVVM模式和Vue中的MVVM模式 MVVM MVVM : 的缩写,说都能直接说出来 :模型, :视图, :视图模...
首先我们需要一个html代码的框架如下: 我们的目的是实现ul中的内容进行横向的一点一点滚动。ul中的内容...