html怎么写这个日历

html-css034

html怎么写这个日历,第1张

<!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>

本文实例为大家分享了网页版日历代码,供大家参考,具体内容如下

效果图:

实现代码:

<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>

以上就是本文的全部内容,希望大家可以轻松实现网页版日历。