繁体中文
设为首页
加入收藏
当前位置:JSP技术首页 >> 资料/其它 >> JSP定位特定的日期

JSP定位特定的日期

2004-10-01 08:26:10  作者:  来源:互联网  浏览次数:26  文字大小:【】【】【
简介:为了找出一周内特定的某一天就必须访问DAY_OF_WEEK字段。该字段包含了范围从1到7的整数值,1代表星期一,2代表星期二,其余以次类推。 int dayOfWeek = cal.get(cal.DAY_OF_WEEK); 这里有个向用户显示日期的好方...
关键字:特定 定位 日期 JSP

为了找出一周内特定的某一天就必须访问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("
Number of days in month: " + maxDays + "
");

我们还需要知道某个月内到底有多少天。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("
" + formatter.format(cal.getTime()) );

SimpleDateFormat对象接受一个字符串作为其对象构造器,该字符串参数包含了用户希望采用的显示格式。这个格式字符串可以包含额外的格式字符串,比如空格(“ ”)、反斜线( “/”)和破折号(“-”)。

表A列出了所有有效的(常用的)显示格式。

表A

格式

责任编辑:admin
相关文章