在開發有關日歷的應用程序時
目的
示例應用程序的目的是
通過HTML表單把日期參數提交某個JSP頁來處理
接收日期參數並創建Calendar對象
采用Calendar對象找出提交的日期是一周的第幾天以及選中月份裡有多少工作日
用用戶易於閱讀的顯示格式對日期格式化
環境
示例程序代碼在Java Web服務器上接受測試
通過表單把日期傳遞給JSP頁
Date(日期)參數是用戶從
在進行日歷編程時不要忘了導入java
〈%@ page import="java
處理頁面的第
int curDate =
if(request
{
curDate = Integer
}
注意頁面參數被轉換為int類型
Calendar對象
我們的目標是創建和設置一個Calendar對象
Calendar cal = Calendar
Calendar
cal
cal
clear()方法清空Calendar
從Calendar獲取信息
以下是一組Calendar字段
日期
DATE
時間
HOUR_OF_DAY
周
WEEK_OF_MONTH
年
YEAR
以上這些字段都可以通過Calendar的get()方法進行訪問
一周內的日期
int dayOfWeek = cal
out
一月內的日期
int dayOfMonth = cal
out
定位特定的日期
為了找出一周內特定的某一天就必須訪問DAY_OF_WEEK字段
int dayOfWeek = cal
這裡有個向用戶顯示日期的好方法
String[] weekdays = new String[]
{“”
〈%=weekdays[cal
注意該數組的第
找出周末
為了找出某天是否正好是星期天或者星期六可以編寫以下代碼
int day = cal
if(day ==
{
//執行與周末有關的操作
}
工作日
現在我們需要計算出某個月內的工作日天數
cal
cal
int maxDays = cal
out
我們還需要知道某個月內到底有多少天
一旦我們得到了每個月內的最多天數
用SimpleDateFormat向用戶顯示日期
SimpleDateFormat處理顯示日期的最常用需求
〈%@ page import="java
以下的代碼給用戶顯示日期
SimpleDateFormat formatter = new SimpleDateFormat("dd/MMM/yyyy");
out
SimpleDateFormat對象接受一個字符串作為其對象構造器
表A列出了所有有效的(常用的)顯示格式
表A
格式
示例
“dd/MMM/yyyy”
"dd
"dd MMMMMMMMM yyyy"
"EEEEEEEEE
Wednesday
有效的SimpleDateFormat顯示格式
表B是SimpleDateFormat參數的縮略語表
表B
y
year
M
month in year
d
day in month
D
day in year
w
week in year
W
week in month
E
day in week
SimpleDateFormat參數
重用代碼
在同一頁面上實施多種格式轉換有個簡單方法
〈%!
public String FormatTitle(Calendar fCal
{
SimpleDateFormat formatter = new SimpleDateFormat(format);
return (formatter
}
%〉
為了顯示日期
〈%=FormatTitle(cal
小結
學完以上的簡單教程
add()和set()方法可以輕松配置Calendar
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/20491.html