使用jsp在网页上编写一个日历
编译结果:
编译代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.*"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>网页日历</title>
</head>
<body>
<%!
int i=1;
int alldays=0;//变量alldays记录本月的天数;
%>
<%!
Date date=new Date();
%>
<%!
SimpleDateFormat format=new SimpleDateFormat("yyyy年MM月dd日");
SimpleDateFormat format1=new SimpleDateFormat("MM");
SimpleDateFormat format2=new SimpleDateFormat("dd");
String str=format.format(date);//获取日期格式为:2020年04月09日;
String mm=format1.format(date);//获取 月;
String dd=format2.format(date);//获取 日;
Calendar date1=Calendar.getInstance(); //Calendar!!!!!
int weekday=date1.get(Calendar.DAY_OF_WEEK_IN_MONTH)+1;
int firstweek=date1.get(Calendar.DAY_OF_WEEK);//获取本月第一天星期几;
int td=Integer.valueOf(dd)%7;
%>
<%
if(mm.equals("01")||mm.equals("03")||mm.equals("05")||mm.equals("07")||mm.equals("08")||mm.equals("10")||mm.equals("12"))
{
alldays=31;
}
else if(mm.equals("02"))
{
alldays=29;
}
else{
alldays=30;
}
%>
<%
int flagdate=1;
int a[][]=new int[5][7];
for(int j=0;j<5;j++){
for(int k=0;k<7;k++){
if(j==0&&k<firstweek-1){
a[j][k]=0;
}else if(flagdate<alldays+1){
a[j][k]=flagdate;
flagdate++;
}
}
}
%>
<table border="2" width="15%" align="center">
<tr>
<h1 align="center"><%out.println(str); %>
</tr>
<br>
<tr bgcolor=#FFFF37> <!-- 星期背景颜色 -->
<%for(i=1;i<8;i++){
%>
<td><%
if(i==1){
out.print("日");
}else if(i==2){
out.print("一");
}else if(i==3){
out.print("二");
}else if(i==4){
out.print("三");
}else if(i==5){
out.print("四");
}else if(i==6){
out.print("五");
}else if(i==7){
out.print("六");
}
%></td>
<%
}%>
</tr>
<%
for(int j=0;j<5;j++){
%><tr><%
for(int k=0;k<7;k++){
if(a[j][k]!=0){
if(a[j][k]==Integer.valueOf(dd)){
%><td bgcolor=#FF0000><%=a[j][k] %>
</td><%
continue;
}
%><td bgcolor="#BEBEBE"><%=
a[j][k]
%>
</td><%
}
else{
%><td bgcolor="#ADADAD"> </td><%
}
}
%></tr><%
}
%>
</table>
</body>
</html>
感谢观看!