当前位置: 网学 > 编程文档 > JSP > 正文

JSP中日期的用法

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/17
下载{$ArticleTitle}原创论文样式

在开发有关日历的应用程序时,不规则的每月日期数、每周天数和周末的计算一直是个很费脑筋的问题。结果,日期和时间的编程经常令程序员新手畏缩不前。本文将演示在JSP应用程序中日期的用法,为读者完成某些常见任务提供方便的参考。

目的

 

示例应用程序的目的是:

通过HTML表单把日期参数提交某个JSP页来处理。
接收日期参数并创建Calendar对象。
采用Calendar对象找出提交的日期是一周的第几天以及选中月份里有多少工作日。
用用户易于阅读的显示格式对日期格式化。

环境

示例程序代码在Java Web服务器上接受测试,该服务器配置了JDK 1.31。示例写得很标准,在Tomcat或者其他JSP Web服务器(JDK 1.2或者以后版本)上运行的效果几乎完全一样。

通过表单把日期传递给JSP页

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对象。
Calendar cal = Calendar.getInstance();

Calendar.getInstance()返回一个代表当前日期和时间的Calendar对象。
cal.clear();
cal.set(curYear, curMonth , curDate);

clear()方法清空Calendar,这样我们才可能给该对象分配我们自己的日期值并为将来的计算做好准备。注意这些参数的顺序:首先是年,最后是日期。

 

从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代表星期二,其余以次类推。
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)
{
//执行与周末

  • 下一篇资讯: JSP数据库连接方式总结
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号