求 HTML 万年历代码

html-css07

求 HTML 万年历代码,第1张

<html>

<head>

   <link rel="stylesheet" type="text/css" href="Skin.css">

   <style>

    <!--

    table{ text-align: center }

    -->

   </style>

</head>

<body>

   <div align="center">

    <script language="javascript">

    

     var my = new Date()

    

     //***************************************************函数开始,这是用来显示日历的***********************

     function showc() {

      var k=1

      var j=1

      var today

      var tomonth

      var theday=1//日期

      var max

      var temp

      var tempday//这个月第一天的星期

      document.write ("<b>" + my.getFullYear() + "-" + (my.getMonth()+1) + "</b>")

      document.write ("<table border='1' width='273' height='158'>")

      document.write ("<tr>")

      document.write ("<td height='23' width='39'><font color='red'>Sun</font></td>")

      document.write ("<td height='23' width='39'>Mon</td>")

      document.write ("<td height='23' width='39'>Tue</td>")

      document.write ("<td height='23' width='39'>Wed</td>")

      document.write ("<td height='23' width='39'>Thu</td>")

      document.write ("<td height='23' width='39'>Fri</td>")

      document.write ("<td height='23' width='39'>Sat</td>")

      document.write ("</tr>")

      temp=my.getDate()

      my.setDate(1)

      //document.write (my.getDate())

      tempday=my.getDay()//返回第一天是星期几

      my.setDate(temp)

      today=my.getDay()//返回现在星期几

     

      switch ((my.getMonth()+1)) {

       case 1:

       case 3:

       case 5:

       case 7:

       case 8:

       case 10:

       case 12:

        max=31

        break

       case 4:

       case 6:

       case 9:

       case 11:

        max=30

        break

       default:

        max=29//这里没有考虑闰月!!

       //document.write (max)

      }

      for(k=0k<6k++) {

       document.write ("<tr>")

       for(j=0j<=6j++) {

        document.write ("<td height='23' width='39'>")

        if(j>=(tempday)) {

         tempday=0//设置为最小,相当于取消判断条件

         if(theday<=max) {

          document.write ("<a title=" + my.getFullYear() + "-" + (my.getMonth()+1) + "-" +theday + " target='_blank' href=detail.asp?date=" + theday + ">")

          if(theday==my.getDate()) 

           document.write ("<font color='green'>[" + theday + "]</font></a>")

           else if(j==0)

           document.write ("<font color='red'>" + theday + "</font></a>")

          else

           document.write (theday + "</a>")

          theday++

         }

        }

        document.write ("</td>")

       }

       document.write ("</tr>")

      }

      document.write ("</table>")

     }

    

     //************************************************函数结束

     showc()

    </script>

   </div>

<body>

</html>

这个是万年历的代码

望采纳!

参考资料http://zhidao.baidu.com/question/347251775.html

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title></title>

<style>

table {

width: 230px

margin: auto

text-align: center

border: 1px solid darkcyan

border-bottom: 3px double darkcyan

box-shadow: 0 1px 2px darkcyan

}

th,

td {

border: 1px solid darkcyan

}

.today {

color: red

}

</style>

<script>

//判断当前年份是否是闰年(闰年2月份有29天,平年2月份只有28天)

function isLeap(year) {

return year % 4 == 0 ? (year % 100 != 0 ? 1 : (year % 400 == 0 ? 1 : 0)) : 0

}

var i, k,

today = new Date(), //获取当前日期

y = today.getFullYear(), //获取日期中的年份

m = today.getMonth(), //获取日期中的月份(需要注意的是:月份是从0开始计算,获取的值比正常月份的值少1)

d = today.getDate(), //获取日期中的日(方便在建立日期表格时高亮显示当天)

firstday = new Date(y, m, 1), //获取当月的第一天

dayOfWeek = firstday.getDay(), //判断第一天是星期几(返回[0-6]中的一个,0代表星期天,1代表星期一,以此类推)

days_per_month = new Array(31, 28 + isLeap(y), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31), //创建月份数组

str_nums = Math.ceil((dayOfWeek + days_per_month[m]) / 7) //确定日期表格所需的行数

document.write("<table cellspacing='0'><tr><td colspan ='7'>" + y + "年" + (m + 1) + "月" + "</td></tr>")

document.write("<tr><th>日</th><th>一</th><th>二</th><th>三</th><th>四</th><th>五</th><th>六</th></tr>") //打印表格第一行(显示星期)

for(i = 0 i < str_nums i += 1) { //二维数组创建日期表格

document.write('<tr>')

for(k = 0 k < 7 k++) {

var idx = 7 * i + k //为每个表格创建索引,从0开始

var date = idx - dayOfWeek + 1 //将当月的1号与星期进行匹配

(date <= 0 || date > days_per_month[m]) ? date = ' ': date = idx - dayOfWeek + 1 //索引小于等于0或者大于月份最大值就用空表格代替

date == d ? document.write('<td class="today">' + date + '</td>') : document.write('<td>' + date + '</td>') //高亮显示当天

}

document.write('</tr>')

}

document.write('</table>')

</script>

</head>

<body>

</body>

</html>

下面代码可以实现你要的功能,如下。至于你看不到它的真实的源代码,它可能通过程序动态加载,或者是js调用。你看到的,仅仅是静态的html代码而已!

<html>

<head>

<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312">

<title>单行带农历的日期时间代码</title>

</head>

<body>

<SCRIPT language=JavaScript>

<!--

function CalConv()

{

FIRSTYEAR = 1998

LASTYEAR = 2031

today = new Date()

SolarYear = today.getFullYear()

SolarMonth = today.getMonth() + 1

SolarDate = today.getDate()

Weekday = today.getDay()

LunarCal = [

new tagLunarCal( 27, 5, 3, 43, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1 ),

new tagLunarCal( 46, 0, 4, 48, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1 ),

new tagLunarCal( 35, 0, 5, 53, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1 ),

new tagLunarCal( 23, 4, 0, 59, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 42, 0, 1, 4, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 31, 0, 2, 9, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0 ),

new tagLunarCal( 21, 2, 3, 14, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 39, 0, 5, 20, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 28, 7, 6, 25, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1 ),

new tagLunarCal( 48, 0, 0, 30, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1 ),

new tagLunarCal( 37, 0, 1, 35, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1 ),

new tagLunarCal( 25, 5, 3, 41, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1 ),

new tagLunarCal( 44, 0, 4, 46, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1 ),

new tagLunarCal( 33, 0, 5, 51, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 22, 4, 6, 56, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ),

new tagLunarCal( 40, 0, 1, 2, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0 ),

new tagLunarCal( 30, 9, 2, 7, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1 ),

new tagLunarCal( 49, 0, 3, 12, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1 ),

new tagLunarCal( 38, 0, 4, 17, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0 ),

new tagLunarCal( 27, 6, 6, 23, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1 ),

new tagLunarCal( 46, 0, 0, 28, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0 ),

new tagLunarCal( 35, 0, 1, 33, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 ),

new tagLunarCal( 24, 4, 2, 38, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 42, 0, 4, 44, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 ),

new tagLunarCal( 31, 0, 5, 49, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0 ),

new tagLunarCal( 21, 2, 6, 54, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1 ),

new tagLunarCal( 40, 0, 0, 59, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1 ),

new tagLunarCal( 28, 6, 2, 5, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0 ),

new tagLunarCal( 47, 0, 3, 10, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1 ),

new tagLunarCal( 36, 0, 4, 15, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1 ),

new tagLunarCal( 25, 5, 5, 20, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0 ),

new tagLunarCal( 43, 0, 0, 26, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1 ),

new tagLunarCal( 32, 0, 1, 31, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0 ),

new tagLunarCal( 22, 3, 2, 36, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0 ) ]

SolarCal = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ]

SolarDays = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365, 396, 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335, 366, 397 ]

if ( SolarYear <= FIRSTYEAR || SolarYear >LASTYEAR ) return 1

sm = SolarMonth - 1

if ( sm <0 || sm >11 ) return 2

leap = GetLeap( SolarYear )

if ( sm == 1 )

d = leap + 28

else

d = SolarCal[sm]

if ( SolarDate <1 || SolarDate >d ) return 3

y = SolarYear - FIRSTYEAR

acc = SolarDays[ leap*14 + sm ] + SolarDate

kc = acc + LunarCal[y].BaseKanChih

Kan = kc % 10

Chih = kc % 12

Age = kc % 60

if ( Age <22 )

Age = 22 - Age

else

Age = 82 - Age

if ( acc <= LunarCal[y].BaseDays ) {

y--

LunarYear = SolarYear - 1

leap = GetLeap( LunarYear )

sm += 12

acc = SolarDays[leap*14 + sm] + SolarDate

}

else

LunarYear = SolarYear

l1 = LunarCal[y].BaseDays

for ( i=0i<13i++ ) {

l2 = l1 + LunarCal[y].MonthDays[i] + 29

if ( acc <= l2 ) break

l1 = l2

}

LunarMonth = i + 1

LunarDate = acc - l1

im = LunarCal[y].Intercalation

if ( im != 0 &&LunarMonth >im ) {

LunarMonth--

if ( LunarMonth == im ) LunarMonth = -im

}

if ( LunarMonth >12 ) LunarMonth -= 12

today=new Date()

function initArray(){

this.length=initArray.arguments.length

for(var i=0i<this.lengthi++)

this[i+1]=initArray.arguments[i] }

var d=new initArray("星期日","星期一","星期二","星期三","星期四","星期五","星期六")

document.write("", today.getYear(),"年",today.getMonth()+1,"月",today.getDate(),"日 ",d[today.getDay()+1],"")

months = ["一","二","三","四","五","六","七","八","九","十","十一","十二"]

days = ["初一","初二","初三","初四","初五","初六","初七","初八","初九","初十","十一","十二","十三","十四","十五","十六","十七","十八","十九","二十","廿一","廿二","廿三","廿四","廿五","廿六","廿七","廿八","廿九","三十"]

document.write( " 农历"+months[LunarMonth-1]+"月" + days[LunarDate-1] + "")

return 0

}

function GetLeap( year )

{

if ( year % 400 == 0 )

return 1

else if ( year % 100 == 0 )

return 0

else if ( year % 4 == 0 )

return 1

else

return 0

}

function tagLunarCal( d, i, w, k, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13) {

this.BaseDays = d

this.Intercalation = i

this.BaseWeekday = w

this.BaseKanChih = k

this.MonthDays = [ m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11, m12, m13 ]

}

//-->

</SCRIPT>

<a target=_blank href=http://www.qpsh.com><FONT color=#2b68a7><SCRIPT>CalConv()</SCRIPT></FONT></a>

</body>

</html>