<SCRIPT LANGUAGE="JavaScript">
<!--
function getToday(){
// 得到今天的日期
this.now = new Date();
//返回当天的日期和时间
this.year = this.now.getFullYear();
//返回一个表示年份的 4 位数字
this.month = this.now.getMonth();
//返回表示月份的数字
this.day = this.now.getDate();
//返回月份的某一天
}
var daysInMonth = new Array(31, 28, 31, 30, 31, 30, 31, 31,30, 31, 30, 31);
// 初始月份天数数组
var today=new getToday();
//将getToday()对象实例化为today
var year=today.year;
//获得当前的年份并赋给变量year
var month=today.month;
//获得当前的月份并赋给变量month
var newCal;
function getDays(month, year){
//测试选择的年份是否是润年并得到某月天数
if (1 == month)
return ((0 == year % 4) && (0 != (year % 100))) ||(0 == year % 400) ? 29 : 28;
//当为二月份时,如果是闰年返回29,否则返回28
else
return daysInMonth[month];
//除二月份之外的月份,返回数组daysInMonth中存储的当月总天数
}
function start(){
var d=new Date();
//创建Date对象
dYear=d.getYear();
//获得当前所在的年份
dMonth=d.getMonth()+1;
//获得当前所在的月份
document.all.year.innerHTML=dYear;
//把变量dYear的值赋给文本域year
document.all.month.innnerHTML=dMonth;
//把变量dMonth的值赋给文本域month
}
function Calendar(){
newCal = new Date(year,month,1);
//实例化Date对象,返回某月的第一天
today = new getToday();
//显示今天这个月份的日历
var day = -1;
//用来判断日历中是否为当天
var startDay = newCal.getDay();
//获得当天是一个星期的星期几
var endDay=getDays(newCal.getMonth(), newCal.getFullYear());
//当月结束时间
var daily = 0;
//用来生成日历中的天数值
if ((today.year == newCal.getFullYear()) &&(today.month == newCal.getMonth()))
//判断是否是当前的年份和月份
day = today.day;
//如果是,则把当前的天赋给变量day
var caltable = document.all.caltable.tBodies.calendar;
//得到日历表格的集合,all是一个集合,包含所有html对像的集合
var intDaysInMonth =getDays(newCal.getMonth(), newCal.getFullYear());
//得到当月天数
for (var intWeek = 0; intWeek < caltable.rows.length;intWeek++){
//以表格中的行数为条件进行循环
for (var intDay = 0;intDay < caltable.rows[intWeek].cells.length;intDay++){
//以表格中每行的单元格数为条件进行循环
var cell = caltable.rows[intWeek].cells[intDay];
//得到第intWeek+1行第intDay+1列的单元格id
var montemp=(newCal.getMonth()+1)<10?("0"+(newCal.getMonth()+1)):(newCal.getMonth()+1);
//通过条件语句判断当前月是否小于10(若小于10,在月份前补0),并赋值给变量montemp
if ((intDay == startDay) && (0 == daily)){ daily = 1;}
var daytemp=daily<10?("0"+daily):(daily);
//通过条件语句判断当日期的天是否小于10(若小于10,在天前补0),并赋值给变量daytemp
if(day==daily)
cell.className="calendarNow";
//如果显示的是今天,改变此单元格的class属性为calendarNow
else
cell.className="calendarTd";
//改变此单元格的class属性为calendarTd
if ((daily > 0) && (daily <= intDaysInMonth)){
//判断daily的值是否大于0并且小于等于intDaysInMonth的值
var selectday=montemp + "/" + daytemp;
//把当前日期的月份和天连接成字符串并赋给变量selectday
cell.innerHTML ="<a href=#>"+daily+"</a>";
//为单元格cell添加代码
daily++;
//daily变量加1
}
else
cell.innerHTML = "";
//单元格cell的代码为空
}
}
document.all.year.innerHTML=year;
//将变量year的值赋给文本域year
document.all.month.innerHTML=month+1;
//将变量month的值赋给文本域month
}
function subMonth(){
if ((month-1)<0){
//判断当前月减1是否小于0
month=11;
//如果小于0,为变量month赋给11
year=year-1;
//年份减1再赋给变量year
}
else{
month=month-1;
//如果不小于0,月份减1再赋给变量month
}
Calendar();
//调用函数Calendar()
}
function addMonth(){
if((month+1)>11){
//判断当前的月份加1是否大于11
month=0;
//如果大于11,为就量month赋值为0
year=year+1;
//年份加1再赋给变量year
}
else{
month=month+1;
//否则,月份加1再赋给变量month
}
Calendar();
}
function setDate() {
if (document.all.month.innerHTML<1||document.all.month.innerHTML>12){
//判断文本域month的值是否在1-12之间
alert("月的有效范围在1-12之间!");
return;
}
year=Math.ceil(document.all.year.innerHTML);
//返回大于等于文本域year的最小整数并赋给变量year
month=Math.ceil(document.all.month.innerHTML-1);
//返回大于或等于文本域的最小整数并赋给变量month
Calendar();
}
//-->
</SCRIPT>
<table width="215" border="0" cellpadding="0" cellspacing="0" id="calender">
<tr>
<td height="200" valign="top" id="backid"><div>
<table border="0" cellpadding="0" cellspacing="1" id="caltable" width="215">
<tr align="center" valign="middle">
<th height="25" colspan="7" class="calendarMonthTitle"> <a onClick="subMonth()" href="#"><</a>
<span id="year"></span>年<span id="month"></span>月 <a onClick="addMonth()" href="#">></a> </th>
</tr>
<tr align="center" valign="middle">
<td height="25" class="calendarDaySun">日</td>
<td height="25" class="calendarTd">一</td>
<td height="25" class="calendarTd">二</td>
<td height="25" class="calendarTd">三</td>
<td height="25" class="calendarTd">四</td>
<td height="25" class="calendarTd">五</td>
<td height="25" class="calendarDaySun">六</td>
</tr>
<tbody border=1 cellspacing="0" cellpadding="0" id="calendar" align="center">
<script language="JavaScript">
<!--
for (var intWeeks = 0; intWeeks < 6; intWeeks++) {
//以变量intWeeks小于6为条件进行循环
document.write("<tr style='cursor:hand'>");
//输出<tr>标记及其属性
for (var intDays = 0; intDays < 7;intDays++)
//以变量inDays<7为条件进行循环
document.write("<td class=calendarTd></td>");
//输出<td>标记及其属性
document.write("</tr>");
}
//-->
</script>
</tbody>
</table>
</div></td>
</tr>
</table>
<script LANGUAGE="JavaScript">
<!--
start()
Calendar();
//-->
</script>
blog.rar_个人博客系统
版权申诉
171 浏览量
2022-09-19
20:23:51
上传
评论
收藏 1.25MB RAR 举报
weixin_42651887
- 粉丝: 76
- 资源: 1万+
最新资源
- 沈丘盛世龙门图纸符合规范化
- HM3400-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于python+streamlit联邦学习进行高校学生成绩预测研究python源码+项目说明+模型+数据.zip
- HM3400D-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- HM3400B-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- spring-boot示例
- 搜集火星资源.py
- JAR应用启动停止脚本化解决方案.zip
- 配合eclipse svn插件subclipse-4.3.4版本的javahl
- Bash脚本教程:如何优雅地停止JAR服务.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈