一、JSP 日期处理:
使用JSP最重要的优势之一,就是可以使用所有Java API。本节讲述Java中的Date类,它在java.util包下,封装了当前日期和时间。
Date类有两个构造函数。第一个构造函数使用当前日期和时间来初始化对象:Date( )
第二个构造函数接受一个参数,这个参数表示从1970年1月1日凌晨至所要表示时间的毫秒数:Date(long millisec)
获取Date对象后,可使用下列方法:
boolean after(Date date):如果比给定的日期晚,则返回true,否则返回false
boolean before(Date date):如果比给定的日期早,则返回true,否则返回false
Object clone( ):获取当前对象的一个副本
boolean equals(Object date):如果与给定日期相同,则返回true,否则返回false
long getTime( ):返回从1970年1月1日凌晨至此对象所表示时间的毫秒数
int hashCode( ):返回此对象的哈希码
void setTime(long time):使用给定参数设置时间和日期,参数time表示从1970年1月1日凌晨至time所经过的毫秒数
String toString( ):将此对象转换为字符串并返回这个字符串
int compareTo(Date date):如果与给定日期相等,则返回0,如果比给定日期早,则返回一个负数,如果比给定日期晚,则返回一个正数
int compareTo(Object obj):与 compareTo(Date) 方法相同,如果 obj 不是Date类或其子类的对象,抛出ClassCastException异常
1、获取当前日期和时间
使用JSP编程可以很容易的获取当前日期和时间,只要使用Date对象的toString()方法就行了,就像下面这样:
<body> <h1>显示当前时间与日期</h1> <% Date date = new Date(); out.print( "<h2 align=\"center\">" +date.toString()+"</h2>"); %> </body>
将上面的代码保存在 main.jsp 文件中,然后访问 http://localhost:8080/testjsp/main.jsp,刷新,就可以发现每次刷新所得到的秒数都不相同。
2、日期比较
您可以在JSP脚本中使用任何Java方法。如果您想要比较两个日期,可以参照下面的方法来做:
- 使用getTime()方法得到毫秒数,然后比较毫秒数就行了。
- 使用before(),after(),equals()方法。比如,new Date(99,2,12).before(new Date(99,2,18))返回true。
- 使用compareTo()方法,这个方法在Comparable接口中定义,在Date中实现。
3、使用SimpleDateFormat格式化日期
SimpleDateFormat使用一种地区敏感的方式来格式化和解析日期,它允许您使用自定义的模式来格式化日期和时间。
对之前日期jsp文件稍作修改,得到如下修改后的代码:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <%@ page import="javax.servlet.*,java.text.*" %> <html> <head> <title>显示当前时间与日期</title> </head> <body> <h1>显示当前时间与日期</h1> <% Date dNow = new Date( ); SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); out.print( "<h2 align=\"center\">" + ft.format(dNow) + "</h2>"); %> </body> </html>