示例应用程序的目的是:
示例程序代码在Java Web服务器上接受测试,该服务器配置了JDK 1.31。示例写得很标准,在Tomcat或者其他JSP Web服务器(JDK 1.2或者以后版本)上运行的效果几乎完全一样。
Date(日期)参数是用户从3栏下拉列表中选出来的。用户提交表单之后,这些参数即被传送给处理页面。
在进行日历编程时不要忘了导入java.util.Calendar:
<%@ page import="java.util.Calendar" %>
处理页面的第1个任务是接收以下日期参数值:Date、Month和Year。
int curDate = 1;
if(request.getParameter("curDate") != null)
{
curDate = Integer.parseInt(request.getParameter("curDate"));
}
注意页面参数被转换为int类型,马上我们就知道为什么要这么做了。
我们的目标是创建和设置一个Calendar对象,用它进行日期计算。为此,我们首先需要实例化一个Calendar对象。
Calendar cal = Calendar.getInstance();
Calendar.getInstance()返回一个代表当前日期和时间的Calendar对象。
cal.clear();
cal.set(curYear, curMonth , curDate);
clear()方法清空Calendar,这样我们才可能给该对象分配我们自己的日期值并为将来的计算做好准备。注意这些参数的顺序:首先是年,最后是日期。
以下是一组Calendar字段:
日期
DATE, DAY_OF_MONTH, DAY_OF_WEEK, DAY_OF_YEAR
时间
HOUR_OF_DAY, MINUTE, MILLISECOND, SECOND
周
WEEK_OF_MONTH, WEEK_OF_YEAR
年
YEAR
以上这些字段都可以通过Calendar的get()方法进行访问,结果返回一个整数。以下代码示例显示了以上过程。
一周内的日期
int dayOfWeek = cal.get(cal.DAY_OF_WEEK);
out.print("<br>Day of Week: " + dayOfWeek + " <br>");
一月内的日期
int dayOfMonth = cal.get(cal.DAY_OF_MONTH);
out.print("<br>Day of Month: " + dayOfMonth + " <br>");
定位特定的日期 | ||||||||||||
定位特定的日期
为了找出一周内特定的某一天就必须访问DAY_OF_WEEK字段。该字段包含了范围从1到7的整数值,1代表星期一,2代表星期二,其余以次类推。 注意该数组的第1个元素为空。这是因为DAY_OF_WEEK字段值的范围是从1到7,而数组元素的引用范围则是从0到6。在数组开头加一个空元素就可以保证DAY_OF_WEEK字段的值和数组引用相匹配了。 找出周末为了找出某天是否正好是星期天或者星期六可以编写以下代码: 工作日
现在我们需要计算出某个月内的工作日天数。用户输入日期(参看index.jsp)之后把参数发送给处理页面(参看display.jsp)。在处理页面上,我们把Calendar对象设置为该月的第1天。 用SimpleDateFormat向用户显示日期
SimpleDateFormat处理显示日期的最常用需求,它可以用来把日期转换为特定的保存格式。你可以采用以下的导入指示符: 表A
|