设计之家 > 教程 > 網頁教程 > 其他教程 >

一款萬年歷

作者:未知 來源:本站原創 時間:2006-03-03

<script language="ja;vascript">
<!-- for sucky browsers

Months = new Array(12);
Months[0] = "一月";
Months[1] = "二月";
Months[2] = "三月";
Months[3] = "四月";
Months[4] = "五月";
Months[5] = "六月";
Months[6] = "七月";
Months[7] = "八月";
Months[8] = "九月";
Months[9] = "十月";
Months[10] = "十一月";
Months[11] = "十二月";

function PadSpaces(TheString)
{
    var Spaces = "             ";
    len = Math.round((9 - TheString.length)/2);

    return Spaces.substring(0,len) + TheString;
}

function NumLeapYears(StartYear, EndYear)
{
     var LeapYears, i;

     if (EndYear >= StartYear){
         for(LeapYears = 0; StartYear <= EndYear; StartYear++)
         if (IsLeapYear(StartYear)) LeapYears++;
    }else{
    for(LeapYears = 0; EndYear <= StartYear; EndYear++)
         if (IsLeapYear(EndYear)) LeapYears++;
    }
     return LeapYears;
}

function IsLeapYear(Year)
{
    if(Math.round(Year/4) == Year/4){
        if(Math.round(Year/100) == Year/100){
            if(Math.round(Year/400) == Year/400)
                return true;
            else return false;
        }else return true;
    }
    return false;
}

function Trim(TheString)
{
    var len;

    len = TheString.length;
     while(TheString.substring(0,1) == " "){ //trim left
         TheString = TheString.substring(1, len);
          len = TheString.length;
    }

     while(TheString.substring(len-1, len) == " "){ //trim right
         TheString = TheString.substring(0, len-1);
          len = TheString.length;
     }
     return TheString;
}

function DetermineMonthIdx()
{
    var i, month, month_s, len;


    month = Trim(document.calform.elements[4].value);
    len = month.length;

    for( i = 0; i <12; i++){
            month_s = Months[i].substring(0,len);
        if (month_s.toUpperCase() == month.toUpperCase())
                return (i);
      }
      return -1;
}

function FindNewYearStartingDay(Year)
{
     var LeapYears, Years, Day;
 
     LeapYears = NumLeapYears(1995, Year);

     if  (Year >=1995)
         Years = (Year -1995)+LeapYears;
     else    Years = (Year -1995)-LeapYears;

     if  (Year >=1995)
        Day = Math.round(((Years/7 - Math.floor(Years/7))*7)+.1);
     else    Day = Math.round(((Years/7 -  Math.ceil(Years/7))*7)-.1);
   
    if (Year >=1995){
         if(IsLeapYear(Year)) Day--;
     }else Day += 7;

     if(Day < 0) Day = 6;
     if(Day > 6) Day = 0;
     return Day;
}

function FindNumDaysInMonth(Year, Month)
{
     if(Month == 1){
           if(IsLeapYear(Year)) return 29;
           else return 28;
     }else{   
           if(Month >6) Month++;
           if(Month/2 == Math.round(Month/2))  return 31;
     }
 return 30;       
}

function FindMonthStartDay(NewYearDay, Year, Month)
{
      var MonthStartDay;

      AddArray = new Array(12);

      AddArray[0]=0;AddArray[1]=3;AddArray[2]=3;AddArray[3]=6;
    AddArray[4]=1;AddArray[5]=4;AddArray[6]=6;AddArray[7]=2;
    AddArray[8]=5;AddArray[9]=0;AddArray[10]=3;AddArray[11]=5;

      MonthStartDay = NewYearDay + AddArray[Month];
      if(IsLeapYear(Year)  && (Month ) > 1) MonthStartDay ++;
 
      if (MonthStartDay > 6) MonthStartDay -= 7;

      return MonthStartDay;
}

function  FillCalendar()
{
      var Year, Month, Midx, NewYearDay, MonthStartDay;
    var NumDaysInMonth, i, t;

      Year = parseFloat(document.calform.elements[1].value);
      Month = document.calform.elements[4].value;

      Midx  =  DetermineMonthIdx();
      if (Midx == -1){
           alert ("Can't recognize that month");
           return;
      }

      NewYearDay = FindNewYearStartingDay(Year);
      MonthStartDay = FindMonthStartDay(NewYearDay, Year,  Midx);
      NumDaysInMonth = FindNumDaysInMonth(Year, Midx); 

      for(i = 6;  i < 43;  i++){
        t = i-5-MonthStartDay;
        if ( t >= 1  &&  t <= NumDaysInMonth)
            document.calform.elements[i].value =t;
        else document.calform.elements[i].value = "";
      }
}

function IncDecYear(val)
{
    var valNum = parseInt(val);
    var valNum2 = parseInt(document.calform.elements[1].value)
    document.calform.elements[1].value = valNum2 + valNum;

    FillCalendar()
}

function IncDecMonth(val)
{
    var valNum = parseInt(val);
      var Midx  =  DetermineMonthIdx();
   
    Midx += valNum;
    if(Midx > 11) Midx = 0;
    if(Midx < 0)  Midx = 11;

   
    document.calform.elements[4].value = PadSpaces(Months[Midx]);

    FillCalendar()
}

// -->
</script>
     <table border=1 bgcolor="#000000" cellpadding=1 cellspacing=1>
      <table border=0  cellpadding=0 cellspacing=0>
        <form name="calform">
          <tr>
            <td align=center cellpadding=0 cellspacing=0 bgcolor="#000000">
              <input
type=button value="<<" onClick="IncDecYear(-1)" name="button">
            </td>
            <th cellpadding=0 cellspacing=0 bgcolor="#aaaaaa" colspan=5
align=center>
              <input size=4 type=text value="1993" name="text">
            </th>
            <td align=center cellpadding=0 cellspacing=0 bgcolor="#000000">
              <input
type=button value=">>" onClick="IncDecYear(1)" name="button2">
            </td>
          </tr>
          <tr>
            <td align=center bgcolor="#000000">
              <input type=button value="<<"
onClick="IncDecMonth(-1)" name="button2">
            </td>
            <th bgcolor="#aaaaaa" colspan=5 align=center>
              <input size=9 type=text
value=" January " name="text">
            </th>
            <td align=center bgcolor="#000000">
              <input type=button value=">>"
onClick="IncDecMonth(1)" name="button2">
            </td>
          </tr>
          <tr>
            <th  bgcolor="#ffcccc">S</th>
            <th  bgcolor="#ccccff">M</th>
            <th  bgcolor="#ccccff">T</th>
            <th  bgcolor="#ccccff">W</th>
            <th  bgcolor="#ccccff">T</th>
            <th  bgcolor="#ccccff">F</th>
            <th  bgcolor="#ccccff">S</th>
          </tr>
          <tr>
            <td  bgcolor="#ffcccc">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
          </tr>
          <tr>
            <td  bgcolor="#ffcccc">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
          </tr>
          <tr>
            <td  bgcolor="#ffcccc">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
          </tr>
          <tr>
            <td  bgcolor="#ffcccc">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
          </tr>
          <tr>
            <td  bgcolor="#ffcccc">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff" >
              <input type=text size=2 name="text">
            </td>
          </tr>
          <tr>
            <td  bgcolor="#ffcccc">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#ccccff">
              <input type=text size=2 name="text">
            </td>
            <td  bgcolor="#3344aa" colspan=5>
              <input type=text name="text">
            </td>
          </tr>
        </form>
      </table>
    </table>

  <script language="ja;vascript">
<!--
    myDate = new Date();
    var Month = parseInt(myDate.getMonth());
   
    document.calform.elements[1].value =  myDate.getYear();
    document.calform.elements[4].value = PadSpaces(Months[Month]);

    document.calform.elements[43].value = "今天是:" +
        Months[Month].substring(0,3) + " " +
        myDate.getDate() + ", " + myDate.getYear();

    FillCalendar();

// -->
</script>

标签:萬年歷

相關文章:

推薦設計

最新文章