Traitement des dates JSP


L'un des avantages les plus importants de l'utilisation de JSP est que vous pouvez utiliser toutes les API Java. Ce chapitre décrira en détail la classe Date en Java, qui encapsule la date et l'heure actuelles sous le package java.util.

La classe Date a deux constructeurs. Le premier constructeur initialise l'objet avec la date et l'heure actuelles.

Date( )

Le deuxième constructeur accepte un paramètre, qui représente le nombre de millisecondes depuis le petit matin du 1er janvier 1970 jusqu'à l'heure à exprimer.

Date(long millisec)

Après avoir obtenu l'objet Date, vous pouvez utiliser toutes les méthodes listées dans le tableau suivant :

Numéro de sérieMéthode & Description
1booléen après(Date date)


Si c'est plus tard que la date indiquée, retournez vrai, sinon retournez faux
2booléen avant(Date date)


Si c'est avant la date indiquée, retournez vrai, sinon retournez faux
3Clonage d'objet( )


Obtenir une copie de l'objet actuel
4int comparerÀ(Date date)


S'il est égal à la date donnée, il renvoie 0, s'il est antérieur à la date donnée, il renvoie un nombre négatif, s'il est postérieur à la date donnée, il renvoie un nombre positif
5int comparerTo(Object obj)


Identique à la méthode compareTo(Date), si obj n'est pas un objet de la classe Date ou de sa sous-classe, une ClassCastException est levée
6booléen égal(Date de l'objet)


Renvoie vrai si c'est la même chose que la date donnée, sinon renvoie faux
7long getTime( )


Renvoie le nombre de millisecondes depuis le petit matin du 1er janvier 1970 jusqu'à l'heure représentée par cet objet
8int hashCode( )


Renvoie le code de hachage de cet objet
9void setTime (longtemps)


Utilisez les paramètres donnés pour régler l'heure et la date. Le paramètre heure représente le nombre de millisecondes écoulées depuis le petit matin du 1er janvier 1970 jusqu'à l'heure
. 10Chaîne àChaîne( )


Convertissez cet objet en chaîne et renvoyez cette chaîne

Obtenez la date et l'heure actuelles

En utilisant la programmation JSP, vous pouvez facilement obtenir la date et l'heure actuelles. Utilisez simplement la méthode toString() de l'objet Date, comme ceci :

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %>
<html>
<head>
<title>显示当前时间与日期</title>
</head>
<body>

<h1>显示当前时间与日期</h1>

<%
   Date date = new Date();
   out.print( "<h2 align=\"center\">" +date.toString()+"</h2>");
%>
</body>
</html>

Changez le. ci-dessus Le code est enregistré dans le fichier main.jsp, puis accessible http://localhost:8080/testjsp/main.jsp Les résultats d'exécution sont les suivants :

显示当前时间与日期

Sat Jun 25 17:54:34 CST 2016

Actualiser. http://localhost:8080/testjsp/main.jsp, vous pouvez constater que le nombre de secondes obtenues par chaque actualisation est différent.


Comparaison de dates

Comme je l'ai mentionné au début, vous pouvez utiliser n'importe quelle méthode Java dans un script JSP. Si vous souhaitez comparer deux dates,

vous pouvez le faire comme suit :

  •                         Utilisez la méthode getTime() pour obtenir le nombre de millisecondes, puis comparez le nombre de millisecondes.

  • Utilisez les méthodes before(), after(), equals(). Par exemple, new Date(99,2,12).before(new Date(99,2,18)) renvoie vrai.

  • Utilisez la méthode compareTo(), définie dans l'interface Comparable et implémentée dans Date.


Formater les dates à l'aide de SimpleDateFormat

SimpleDateFormat utilise une méthode sensible aux paramètres régionaux pour formater et analyser les dates, ce qui vous permet de formater les dates et les heures à l'aide de modèles personnalisés.

Modifiez légèrement CurrentDate.jsp et obtenez le code modifié suivant :

<%@ 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>

Compilez à nouveau main.jsp, puis visitez http://localhost:8080/testjsp/main .jsp , vous pouvez obtenir les résultats suivants :

显示当前时间与日期

2016-06-25 17:57:53

Code de format SimpleDateFormat

Pour spécifier la chaîne de modèle, vous devez utiliser le code de format répertorié dans le tableau suivant :

PersonnageDescriptionExemple
G                 Identifiant d'ère                 AD
                     y               Année à 4 chiffres 2001
                        M               Mois Juillet ou 07
                  d               日                 10
                  h               Format 12 heures, matin/après-midi (1~12)                   12
                  H               Horloge sur 24 heures                 22
                    m               Minutes                 30
                  s               Secondes 55
                  S                 Millisecondes               234
                  E               Jour de la semaine Mardi
                D               Jour de l'année                    360
                  F               Un certain jour de la semaine dans un mois               2 (deuxième mercredi de juillet)
                w               Une certaine semaine de l'année                 40
                  W               Une certaine semaine du mois                 1
                  a               Marque A.M./P.M.                 MP
                k               Une heure de la journée (1~24)                   24
                  K               Une heure de la journée, A.M./P.M. (0~11)                10
                  z               Fuseau horaire               Heure normale de l'Est
' Séparation de texte                 Délimiteur
                  "                 Guillemets simples                 `

Pour des informations plus détaillées sur la classe Date, veuillez consulter la documentation de l'API Java.