JSP定位特定的日期
發(fā)表時間:2024-01-25 來源:明輝站整理相關軟件相關文章人氣:
[摘要]為了找出一周內(nèi)特定的某一天就必須訪問DAY_OF_WEEK字段。該字段包含了范圍從1到7的整數(shù)值,1代表星期一,2代表星期二,其余以次類推。int dayOfWeek = cal.get(cal.DAY_OF_WEEK);這里有個向用戶顯示日期的好方法,那就是聲明一個包含一周內(nèi)天數(shù)的數(shù)組。然后就可...
為了找出一周內(nèi)特定的某一天就必須訪問DAY_OF_WEEK字段。該字段包含了范圍從1到7的整數(shù)值,1代表星期一,2代表星期二,其余以次類推。
int dayOfWeek = cal.get(cal.DAY_OF_WEEK);這里有個向用戶顯示日期的好方法,那就是聲明一個包含一周內(nèi)天數(shù)的數(shù)組。然后就可以很方便地顯示各個日期了。只要采用DAY_OF_WEEK整數(shù)訪問數(shù)組內(nèi)的當前日期即可。
String[] weekdays = new String[]
{“”, "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
<%=weekdays[cal.get(cal.DAY_OF_WEEK)]%>注意該數(shù)組的第1個元素為空。這是因為DAY_OF_WEEK字段值的范圍是從1到7,而數(shù)組元素的引用范圍則是從0到6。在數(shù)組開頭加一個空元素就可以保證DAY_OF_WEEK字段的值和數(shù)組引用相匹配了。
找出周末
為了找出某天是否正好是星期天或者星期六可以編寫以下代碼:
int day = cal.get(cal.DAY_OF_WEEK);
if(day == 6 day == 7)
{
//執(zhí)行與周末有關的操作
}工作日
現(xiàn)在我們需要計算出某個月內(nèi)的工作日天數(shù)。用戶輸入日期(參看index.jsp)之后把參數(shù)發(fā)送給處理頁面(參看display.jsp)。在處理頁面上,我們把
Calendar對象設置為該月的第1天。
cal.clear();
cal.set(curYear, curMonth , 1);
int maxDays = cal.getActualMaximum(cal.DATE);
out.print("<br>Number of days in month: " + maxDays + "<br>");我們還需要知道某個月內(nèi)到底有多少天。
getActualMaximum()方法返回一個整數(shù)值,該值就包含了每個月內(nèi)的最多天數(shù):2月是28天,3月是31天等等。在閏年的話2月的天數(shù)返回 29天。
一旦我們得到了每個月內(nèi)的最多天數(shù),我們就可以很方便地循環(huán)每月天數(shù)判斷是否是周末或者工作一日。我們用
add()方法給
Calendar遞增1,如
程序清單A所示。
用SimpleDateFormat向用戶顯示日期
SimpleDateFormat處理顯示日期的最常用需求,它可以用來把日期轉換為特定的保存格式。你可以采用以下的導入指示符:
<%@ page import="java.text.SimpleDateFormat" %>以下的代碼給用戶顯示日期:
SimpleDateFormat formatter = new SimpleDateFormat("dd/MMM/yyyy");
out.print("<br>" + formatter.format(cal.getTime()));SimpleDateFormat對象接受一個字符串作為其對象構造器,該字符串參數(shù)包含了用戶希望采用的顯示格式。這個格式字符串可以包含額外的格式字符串,比如空格(“ ”)、反斜線( “/”)和破折號(“-”)。
表
A列出了所有有效的(常用的)顯示格式。
表A