<body οnlοad="showTime()">
<form name="clock">
<input name="disp" type="text" size="21" />
</form>
<script language="javascript">
function showTime(){
var today = new Date();
document.clock.disp.value = today.toLocaleString();
var t=setTimeout('showTime()',500);
}
function getTime(){
var now = new Date();
var hour = now.getHours();
var minute = now.getMinutes();
now = null;
var ampm = "";
if(hour>12){
hour -= 12;
ampm = "下午" ;
}else{
ampm = "上午";
}
minute = (minute<10)?"0"+minute:minute;
return hour + ":" + minute + " " + ampm;
}
function getDays(month,year){
var monthDate = new Array(12);
monthDate[0] = "31";
monthDate[1] = (year%4==0)?29:28;
monthDate[2] = "31";
monthDate[3] = "29";
monthDate[4] = "31";
monthDate[5] = "29";
monthDate[6] = "31";
monthDate[7] = "31";
monthDate[8] = "29";
monthDate[9] = "31";
monthDate[10] = "29";
monthDate[11] = "31";
return monthDate[month];
}
function getMonthName(month){
var ar = new Array(12);
ar[0] = "1月"
ar[1] = "2月"
ar[2] = "3月"
ar[3] = "4月"
ar[4] = "5月"
ar[5] = "6月"
ar[6] = "7月"
ar[7] = "8月"
ar[8] = "9月"
ar[9] = "10月"
ar[10] = "11月"
ar[11] = "12月"
return ar[month]
}
function setCal(){
var now = new Date();
var year = now.getYear();
var year = (year>1900)?year:(1900+year); //在FF等浏览器内 getYear 返回的是 "当前年份-1900" 的值,而IE则是当年份大于等于2000的时,直接将1900加上,还可以直接使用 getFullYear() 函数;
var month = now.getMonth();
var monthName = getMonthName(month);
var days = getDays(month,year);
var date = now.getDate();
now = null;
var thisDate = new Date(year,month,1);
var firstDay = thisDate.getDay();
thisDate = null;
drawCal(firstDay, days, date, monthName, year);
}
function drawCal(firstDay,lastDate,date,monthName,year){
var text = "";
var dayArray = new Array(7);
dayArray[0] = "星期日";
dayArray[1] = "星期一";
dayArray[2] = "星期二";
dayArray[3] = "星期三";
dayArray[4] = "星期四";
dayArray[5] = "星期五";
dayArray[6] = "星期六";
text +="<table border='1' width='700'>";
text +="<tr><th colspan=7>"+year+"年"+monthName+"日历</th></tr>";
text +="<tr>";
for(var i =0; i<7; i++){
text +="<td>"+dayArray[i]+"</td>";
}
text +="</tr>";
var digit = 1;
var curCell = 1;
for (var row = 1; row<=Math.ceil((lastDate+firstDay)/7); row++)
{
text += "<tr>";
for(var col=1; col<=7; col++){
if(digit>lastDate)
{
break;
}
if(curCell<firstDay)
{
text +="<td> </td>";
curCell++ ;
}
else
{
if(digit==date)
{
text +="<td style='color:#000;'>"+digit+" <span style='color:#ff0000; font-size:12px;'>("+getTime()+")</span></td>";
}
else
{
text +="<td>"+digit+"</td>";
}
digit++;
}
}
}
text +="</tr></table>"
document.write(text);
}
setCal();
</script>
</body>