位置:首页 > > JSP日期Date

JSP日期Date

其中一个使用JSP的最重要的优点是,可以使用Java核心中所有可用的方法。本教程将带你通过Java提供的Date类是在java.util包中可用,这个类封装了当前的日期和时间。

Date类支持两种构造函数。第一个构造函数初始化对象的当前日期和时间。

Date( )

下面的构造函数接受一个参数等于自午夜以来的,1970年1月1日起已经过的毫秒数

Date(long millisec)

一旦你有一个日期对象,你可以调用以下任何一种支持的方法和时间:

SN Methods with 描述
1 boolean after(Date date)
Returns true if the invoking Date object contains a date that is later than the one specified by date, otherwise, it returns false.
2 boolean before(Date date)
Returns true if the invoking Date object contains a date that is earlier than the one specified by date, otherwise, it returns false.
3 Object clone( )
Duplicates the invoking Date object.
4 int compareTo(Date date)
Compares the value of the invoking object with that of date. Returns 0 if the values are equal. Returns a negative value if the invoking object is earlier than date. Returns a positive value if the invoking object is later than date.
5 int compareTo(Object obj)
Operates identically to compareTo(Date) if obj is of class Date. Otherwise, it throws a ClassCastException.
6 boolean equals(Object date)
Returns true if the invoking Date object contains the same time and date as the one specified by date, otherwise, it returns false.
7 long getTime( )
Returns the number of milliseconds that have elapsed since January 1, 1970.
8 int hashCode( )
Returns a hash code for the invoking object.
9 void setTime(long time)
Sets the time and date as specified by time, which represents an elapsed time in milliseconds from midnight, January 1, 1970
10 String toString( )
Converts the invoking Date object into a string and returns the result.

获取当前日期和时间

这是很容易得到当前的日期和时间在JSP程序。你可以使用一个简单的Date对象的toString()方法,如下所示打印当前日期和时间:

<%@ page import="java.io.*,java.util.*, javax.servlet.*" %> <html> <head> <title>Display Current Date & Time</title> </head> <body> <center> <h1>Display Current Date & Time</h1> </center> <% Date date = new Date(); out.print( "<h2 align="center">" +date.toString()+"</h2>"); %> </body> </html>

现在让我们保持对代码CurrentDate.jsp,然后使用URL http://localhost:8080/CurrentDate.jsp调用这个JSP。这将产生以下结果:

Display Current Date & Time

Mon Jun 21 21:46:49 GMT+04:00 2010

尝试刷新网址http://localhost:8080/CurrentDate.jsp,你会发现差异在几秒钟内每次你会刷新。

日期比较:

正如我上面提到的,您可以使用在JSP脚本中所有可用的Java方法。如果你需要比较两个日期,以下是方法:

  • 您可以使用的getTime()来获得自午夜,1970年1月1日起已经过的毫秒数,两个对象,然后比较这两个值。

  • 您可以使用 before(), after(), 和 equals()方法。由于本月12日来的18日前,例如,new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。

  • 您可以使用compareTo()方法,这是由Comparable接口定义和日期执行。

使用简单日期格式化日期:

SimpleDateFormat是一个具体的类,用于格式化和分析日期的语言环境敏感的方式。 SimpleDateFormat让你选择任何用户定义的模式为日期时间格式。

让我们修改上面的例子如下:

<%@ page import="java.io.*,java.util.*" %> <%@ page import="javax.servlet.*,java.text.*" %> <html> <head> <title>Display Current Date & Time</title> </head> <body> <center> <h1>Display Current Date & Time</h1> </center> <% Date dNow = new Date( ); SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz"); out.print( "<h2 align="center">" + ft.format(dNow) + "</h2>"); %> </body> </html>

编译上面的servlet一次,然后使用URL http://localhost:8080/CurrentDate调用这个servlet。这将产生以下结果:

Display Current Date & Time

Mon 2010.06.21 at 10:06:44 PM GMT+04:00

简单DateFormat格式代码:

要指定时间格式使用时间模式字符串。在这个模式中,所有的ASCII字母被保留为模式字母,其定义如下:

Character 描述 Example
G Era designator AD
y Year in four digits 2001
M Month in year July or 07
d Day in month 10
h Hour in A.M./P.M. (1~12) 12
H Hour in day (0~23) 22
m Minute in hour 30
s Second in minute 55
S Millisecond 234
E Day in week Tuesday
D Day in year 360
F Day of week in month 2 (second Wed. in July)
w Week in year 40
W Week in month 1
a A.M./P.M. marker PM
k Hour in day (1~24) 24
K Hour in A.M./P.M. (0~11) 10
z Time zone Eastern Standard Time
' Escape for text Delimiter
" Single quote `

对于恒可用方法的完整列表来操作日期,你可以参考标准的Java文档。