Uma das vantagens mais importantes de usar JSP é que você pode usar todas as APIs Java. Este capítulo descreverá em detalhes a classe Date em Java, que encapsula a data e hora atuais no pacote java.util.
A classe Date possui dois construtores. O primeiro construtor inicializa o objeto com a data e hora atuais.
Data( )O segundo construtor aceita um parâmetro que representa o número de milissegundos desde a madrugada de 1º de janeiro de 1970 até o horário a ser representado.
Data (milissegundos longos)Depois de obter o objeto Date, você pode usar todos os métodos listados na tabela a seguir:
número de série | Método e Descrição |
---|---|
1 | boolean after(Data data) retorna verdadeiro se for posterior à data especificada, caso contrário, retorna falso |
2 | booleano antes (data data) retorna verdadeiro se for anterior à data especificada, caso contrário, retorna falso |
3 | Object clone() obtém uma cópia do objeto atual |
4 | int compareTo(Data data) retorna 0 se for igual à data especificada, um número negativo se for anterior à data especificada e um número positivo se for posterior à data especificada |
5 | int compareTo(Object obj) é o mesmo que compareTo(Date). Se obj não for um objeto da classe Date ou de sua subclasse, uma ClassCastException será lançada. |
6 | boolean equals(Data do objeto) retorna verdadeiro se for igual à data fornecida, caso contrário, retorna falso |
7 | long getTime() retorna o número de milissegundos desde a manhã de 1º de janeiro de 1970 até a hora representada por este objeto |
8 | int hashCode() retorna o código hash deste objeto |
9 | void setTime(long time) usa os parâmetros fornecidos para definir a hora e a data. O parâmetro time representa o número de milissegundos decorridos desde o início da manhã de 1º de janeiro de 1970 até a hora. |
10 | String toString() converte este objeto em uma string e retorna esta string |
É fácil obter a data e hora atuais usando programação JSP. Basta usar o método toString() do objeto Date, como o seguinte:
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %><html><head><title>Exibir data e hora atuais</title></head>< body><center><h1>Exibir data e hora atuais</h1></center><% Date date = new Date() out.print( "<h2 align="center">" +date.toString()+"</h2>");%></body></html>Salve o código acima no arquivo CurrentDate.jsp e visite http://localhost:8080/CurrentDate.jsp. Os resultados da execução são os seguintes:
Exibir data e hora atuaisSeg 21 de junho 21:46:49 GMT+04:00 2013Atualize http://localhost:8080/CurrentDate.jsp e você descobrirá que os segundos obtidos por cada atualização são diferentes.
Como mencionei no início, você pode usar qualquer método Java em um script JSP. Se você quiser comparar duas datas,
Você pode consultar os seguintes métodos para fazer isso:
Use o método getTime() para obter o número de milissegundos e compare o número de milissegundos.
Use os métodos before(), after(), equals(). Por exemplo, new Date(99,2,12).before(new Date(99,2,18)) retorna verdadeiro.
Use o método compareTo(), que é definido na interface Comparable e implementado em Date.
SimpleDateFormat usa uma maneira sensível à localidade para formatar e analisar datas, o que permite usar padrões personalizados para formatar datas e horas.
Modifique ligeiramente CurrentDate.jsp e obtenha o seguinte código modificado:
<%@ page import="java.io.*,java.util.*" %><%@ page import="javax.servlet.*,java.text.*" %><html><head><title >Exibir data e hora atuais</title></head><body><center><h1>Exibir data e hora atuais</h1></center><% Date dNow = new Date( ); SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz"); out.print( "<h2 align="center">" + ft.format(dNow) + "</h2>"); %></corpo></html>
Compile CurrentDate.jsp novamente e visite http://localhost:8080/CurrentDate.jsp. Você obterá os seguintes resultados:
Exibir data e hora atuaisSeg 2013.06.21 às 10:06:44 PM GMT+04:00Para especificar uma sequência padrão, use os códigos de formato listados na tabela a seguir:
personagem | descrever | Exemplo |
---|---|---|
G | identificador de era | ANÚNCIO |
sim | Ano de 4 dígitos | 2001 |
M | lua | Julho ou 07 |
d | dia | 10 |
h | Relógio de 12 horas, AM/PM (1~12) | 12 |
H | Relógio de 24 horas | vinte e dois |
eu | minuto | 30 |
é | Segundo | 55 |
S | milissegundo | 234 |
E | Semana | Terça-feira |
D | dia do ano | 360 |
F | um dia da semana em um mês | 2 (segunda quarta-feira de julho) |
c | semana do ano | 40 |
C | uma determinada semana do mês | 1 |
um | Marca AM/PM | PM |
k | Uma hora do dia (1~24) | vinte e quatro |
K | Hora do dia, AM/PM (0~11) | 10 |
z | fuso horário | Horário Padrão do Leste |
' | separador de texto | Delimitador |
" | citação única | ` |
Para obter informações mais detalhadas sobre a classe Date, consulte a documentação da API Java.