JSP定位特定的日期
發表時間:2024-01-25 來源:明輝站整理相關軟件相關文章人氣:
[摘要]為了找出一周內特定的某一天就必須訪問DAY_OF_WEEK字段。該字段包含了范圍從1到7的整數值,1代表星期一,2代表星期二,其余以次類推。int dayOfWeek = cal.get(cal.DAY_OF_WEEK);這里有個向用戶顯示日期的好方法,那就是聲明一個包含一周內天數的數組。然后就可...
為了找出一周內特定的某一天就必須訪問DAY_OF_WEEK字段。該字段包含了范圍從1到7的整數值,1代表星期一,2代表星期二,其余以次類推。
int dayOfWeek = cal.get(cal.DAY_OF_WEEK);這里有個向用戶顯示日期的好方法,那就是聲明一個包含一周內天數的數組。然后就可以很方便地顯示各個日期了。只要采用DAY_OF_WEEK整數訪問數組內的當前日期即可。
String[] weekdays = new String[]
{“”, "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};
<%=weekdays[cal.get(cal.DAY_OF_WEEK)]%>注意該數組的第1個元素為空。這是因為DAY_OF_WEEK字段值的范圍是從1到7,而數組元素的引用范圍則是從0到6。在數組開頭加一個空元素就可以保證DAY_OF_WEEK字段的值和數組引用相匹配了。
找出周末
為了找出某天是否正好是星期天或者星期六可以編寫以下代碼:
int day = cal.get(cal.DAY_OF_WEEK);
if(day == 6 day == 7)
{
//執行與周末有關的操作
}工作日
現在我們需要計算出某個月內的工作日天數。用戶輸入日期(參看index.jsp)之后把參數發送給處理頁面(參看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>");我們還需要知道某個月內到底有多少天。
getActualMaximum()方法返回一個整數值,該值就包含了每個月內的最多天數:2月是28天,3月是31天等等。在閏年的話2月的天數返回 29天。
一旦我們得到了每個月內的最多天數,我們就可以很方便地循環每月天數判斷是否是周末或者工作一日。我們用
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對象接受一個字符串作為其對象構造器,該字符串參數包含了用戶希望采用的顯示格式。這個格式字符串可以包含額外的格式字符串,比如空格(“ ”)、反斜線( “/”)和破折號(“-”)。
表
A列出了所有有效的(常用的)顯示格式。
表A