В этой главе мы обсудим, как обрабатывать данные в JSP. Одним из наиболее важных преимуществ использования JSP является то, что вы можете использовать все методы, доступные в ядре Java. Мы проведем вас через класс Date, который доступен в пакете java.util ; этот класс инкапсулирует текущую дату и время.
Класс Date поддерживает два конструктора. Первый конструктор инициализирует объект с текущей датой и временем.
Date( )
Следующий конструктор принимает один аргумент, равный количеству миллисекунд, прошедших с полуночи 1 января 1970 года.
Date(long millisec)
Если у вас есть объект Date, вы можете вызвать любой из следующих методов поддержки, чтобы поиграть с датами:
S.No. | Методы и описание |
---|---|
1 |
логическое после (Дата дата) Возвращает true, если вызывающий объект Date содержит дату, которая позже даты, указанной в date, в противном случае он возвращает false. |
2 |
логическое значение до (дата дата) Возвращает true, если вызывающий объект Date содержит дату, более раннюю, чем та, которая указана в date, в противном случае он возвращает false. |
3 |
Клон объекта () Дублирует вызывающий объект Date. |
4 |
int compareTo (Дата дата) Сравнивает значение вызывающего объекта со значением даты. Возвращает 0, если значения равны. Возвращает отрицательное значение, если вызывающий объект раньше даты. Возвращает положительное значение, если вызывающий объект позже даты. |
5 |
int compareTo (Object obj) Действует одинаково для compareTo (Date), если obj имеет класс Date. В противном случае он создает исключение ClassCastException. |
6 |
логическое равенство (дата объекта) Возвращает true, если вызывающий объект Date содержит то же время и дату, что и объект, указанный в date, в противном случае он возвращает false. |
7 |
long getTime () Возвращает количество миллисекунд, прошедших с 1 января 1970 года. |
8 |
int hashCode () Возвращает хеш-код для вызывающего объекта. |
9 |
void setTime (долгое время) Устанавливает время и дату, указанные по времени, которое представляет истекшее время в миллисекундах с полуночи 1 января 1970 года. |
10 |
Строка toString () Преобразует вызывающий объект Date в строку и возвращает результат. |
логическое после (Дата дата)
Возвращает true, если вызывающий объект Date содержит дату, которая позже даты, указанной в date, в противном случае он возвращает false.
логическое значение до (дата дата)
Возвращает true, если вызывающий объект Date содержит дату, более раннюю, чем та, которая указана в date, в противном случае он возвращает false.
Клон объекта ()
Дублирует вызывающий объект Date.
int compareTo (Дата дата)
Сравнивает значение вызывающего объекта со значением даты. Возвращает 0, если значения равны. Возвращает отрицательное значение, если вызывающий объект раньше даты. Возвращает положительное значение, если вызывающий объект позже даты.
int compareTo (Object obj)
Действует одинаково для compareTo (Date), если obj имеет класс Date. В противном случае он создает исключение ClassCastException.
логическое равенство (дата объекта)
Возвращает true, если вызывающий объект Date содержит то же время и дату, что и объект, указанный в date, в противном случае он возвращает false.
long getTime ()
Возвращает количество миллисекунд, прошедших с 1 января 1970 года.
int hashCode ()
Возвращает хеш-код для вызывающего объекта.
void setTime (долгое время)
Устанавливает время и дату, указанные по времени, которое представляет истекшее время в миллисекундах с полуночи 1 января 1970 года.
Строка toString ()
Преобразует вызывающий объект Date в строку и возвращает результат.
Получение текущей даты и времени
С программой 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 и затем вызовем этот JSP, используя URL-адрес http: // localhost: 8080 / CurrentDate.jsp . Вы получите следующий результат —
Display Current Date & Time
Mon Jun 21 21:46:49 GMT+04:00 2010
Обновите страницу с помощью URL-адреса http: // localhost: 8080 / CurrentDate.jsp . Вы найдете разницу в секундах при каждом обновлении.
Сравнение дат
Как обсуждалось в предыдущих разделах, вы можете использовать все доступные методы Java в ваших JSP-скриптах. Если вам нужно сравнить две даты, рассмотрите следующие методы —
-
Вы можете использовать метод getTime () для получения количества миллисекунд, прошедших с полуночи 1 января 1970 года, для обоих объектов, а затем сравнить эти два значения.
-
Вы можете использовать методы before (), after () и equals (), потому что 12-е число месяца предшествует 18-му; например, новая Дата (99, 2, 12) .before (новая Дата (99, 2, 18)) возвращает true.
-
Вы можете использовать метод compareTo () ; этот метод определяется интерфейсом Comparable и реализуется датой.
Вы можете использовать метод getTime () для получения количества миллисекунд, прошедших с полуночи 1 января 1970 года, для обоих объектов, а затем сравнить эти два значения.
Вы можете использовать методы before (), after () и equals (), потому что 12-е число месяца предшествует 18-му; например, новая Дата (99, 2, 12) .before (новая Дата (99, 2, 18)) возвращает true.
Вы можете использовать метод compareTo () ; этот метод определяется интерфейсом Comparable и реализуется датой.
Форматирование даты с использованием SimpleDateFormat
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>
Скомпилируйте вышеприведенный сервлет еще раз и затем вызовите этот сервлет, используя URL-адрес http: // localhost: 8080 / CurrentDate . Вы получите следующий результат —
Display Current Date & Time
Mon 2010.06.21 at 10:06:44 PM GMT+04:00
Простые коды формата DateFormat
Чтобы указать формат времени, используйте строку шаблона времени. В этом шаблоне все буквы ASCII зарезервированы как буквы шаблона, которые определены следующим образом:
символ | Описание | пример |
---|---|---|
г | Обозначение эпохи | ОБЪЯВЛЕНИЕ |
Y | Год в четыре цифры | 2001 |
M | Месяц в году | Июль или 07 |
d | День в месяце | 0 |
час | Час в AM / PM (1 ~ 12) | 2 |
ЧАС | Час в день (0 ~ 23) | 22 |
м | Минута в час | 30 |
s | Секунда в минуту | 55 |
S | миллисекунды | 234 |
Е | День в неделю | вторник |
D | День в году | 360 |
F | День недели в месяце | 2 (вторая среда в июле) |
вес | Неделя в году | 40 |
W | Неделя в месяце | |
AM / PM маркер | ВЕЧЕРА | |
К | Час в день (1 ~ 24) | 24 |
К | Час в AM / PM (0 ~ 11) | 0 |
Z | Часовой пояс | Восточное стандартное время |
‘ | Побег для текста | Разделитель |
« | Одинарные цитаты | ` |
Для получения полного списка постоянных доступных методов для манипулирования датой, вы можете обратиться к стандартной документации Java.