📜  JSP-处理日期

📅  最后修改于: 2020-11-13 05:24:37             🧑  作者: Mango


在本章中,我们将讨论如何在JSP中处理数据。使用JSP的最重要的优点之一是您可以使用Java核心中所有可用的方法。我们将带您进入java.util包中可用的Date类;此类封装了当前日期和时间。

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

Date( )

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

Date(long millisec)

一旦有Date对象可用,就可以调用以下任何一种支持方法来播放日期-

S.No. Methods & Description
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()方法一起使用,以打印当前日期和时间,如下所示:

Display Current Date & Time
   
   
   
      

Display Current Date & Time

" +date.toString()+""); %>

现在让我们将代码保存在CurrentDate.jsp中,然后使用URL http:// localhost:8080 / CurrentDate.jsp调用此JSP。您将收到以下结果-

Display Current Date & Time
Mon Jun 21 21:46:49 GMT+04:00 2010

使用URL 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接口定义,并由Date实现。

使用SimpleDateFormat格式化日期

SimpleDateFormat是一个具体的类,用于以对语言环境敏感的方式来格式化和解析日期。 SimpleDateFormat允许您从选择任何用户定义的日期时间格式模式开始。

让我们修改以上示例,如下所示:

Display Current Date & Time
   
   
   
      

Display Current Date & Time

" + ft.format(dNow) + ""); %>

再次编译上述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 Description Example
G Era designator AD
y Year in four digits 2001
M Month in year July or 07
d Day in month 0
h Hour in A.M./P.M. (1~12) 2
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
a A.M./P.M. marker PM
k Hour in day (1~24) 24
K Hour in A.M./P.M. (0~11) 0
z Time zone Eastern Standard Time
Escape for text Delimiter
Single quote `

有关可操作日期的常量可用方法的完整列表,可以参考标准Java文档。