html js 输入日期输出星期

来源:互联网 发布:计算机技术与软件 证书 编辑:程序博客网 时间:2024/05/19 23:14
<html>
<head>
<script type="text/javascript">
function setWeek(){
    var date =  document.getElementById("dd").value;
    var y = parseInt(date.split("-")[0]);
    var mouth = parseInt(date.split("-")[1]);
    if(mouth==1){
        y = y-1;
        mouth = 13;
    }
    if(mouth==2){
        y = y-1;
        mouth = 14;
    }
    var c = Math.floor(y/100);
    var year = y%100;
    var day = parseInt(date.split("-")[2]);
    var yy = Math.floor(year/4.0);
    var cc = Math.floor(c/4.0);
    var mm = Math.floor(26*(mouth+1)/10.0);
    var week = (year+yy+cc-2*c+mm+day-1)%7;
    //即w=y+[y/4]+[c/4]-2c+[26(m+1)/10]+d-1
    //,w:星期;c:世纪-1;y:年(两位数);m:月(m大于等于3,小于等于14,即在蔡勒公式中,某年的1、2月要看作上一年的13、14月来计算,比如2003年1月1日要看作2002年的13月1日来计算);
    //d:日;[ ]代表取整,即只要整数部分.(C是世纪数减一,y是年份后两位,M是月份,d是日数.1月和2月要按上一年的13月和 14月来算,这时C和y均按上一年取值.)算出来的W除以7,
    //余数是几就是星期几.如果余数是0,则为星期日.
    var strDate="";
    switch(week){
    case 0:
    {strDate=" 日 "}break;
    case 1:
    {strDate=" 一 "}break;
    case 2:
    {strDate=" 二 "}break;
    case 3:
    {strDate=" 三 "}break;
    case 4:
    {strDate=" 四 "}break;
    case 5:
    {strDate=" 五 "}break;
    case 6:
    {strDate=" 六 "}break;
    case 7:
    {strDate=" 日 "}break;
    }
    document.getElementById("ww").value=strDate;
}
</script>
</head>

<body >
<div id="txt"></div>
<div>
    <label>输入日期:</label>
    <input type="text" id="dd" name="date" onfouc="setWeek()" value=""/><span>格式:yyyy-mm-dd</span><br/>
    <lable>输入星期:星期</lable>
    <input type="text" id="ww" name="week"><br/>
    <input type="button" value="点我" onclick="setWeek()"/>
</div>
</body>
</html>
0 0