IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Collection et Stream Java Discussion :

[SimpleDateFormat] utilisation


Sujet :

Collection et Stream Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut [SimpleDateFormat] utilisation
    bonjour je me suis baladée sur http://java.sun.com/j2se/1.4.2/docs/api/index.html
    pour trouver le formatage d'une chaine en date et heure

    seulement l'explication qui en est faite en l'anglais ne m'est pas très clair. Alors voici ce que j'ai fait dans ma page jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.text.SimpleDateFormat" errorPage="" %>
    <% 
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 
    out.println(sdf.format(12:43));
     
    %>
    et comme je m'y attendais je l'ai mal utilisé.
    Tomcat me genère l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP
     
    Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /Temps.jsp
     
    Erreur de servlet générée:
        [javac] Compiling 1 source file
     
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\GestionTemps\org\apache\jsp\Temps_jsp.java:48: ')' expected
    out.println(sdf.format(12:43));
                             ^
     
     
     
    Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /Temps.jsp
     
    Erreur de servlet générée:
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\GestionTemps\org\apache\jsp\Temps_jsp.java:48: ')' expected
    out.println(sdf.format(12:43));
                                  ^
    2 errors
     
     
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:83)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:315)
    	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:406)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:463)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:442)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:430)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:274)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:853)


    Heu ?
    comment je peux formater la chaine "12.43" pour obtenir 12:43?

    :

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut Re: [SimpleDateFormat] utilisation
    Citation Envoyé par Lady_jade
    bonjour je me suis baladée sur http://java.sun.com/j2se/1.4.2/docs/api/index.html
    pour trouver le formatage d'une chaine en date et heure

    seulement l'explication qui en est faite en l'anglais ne m'est pas très clair. Alors voici ce que j'ai fait dans ma page jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.text.SimpleDateFormat" errorPage="" %>
    <% 
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 
    out.println(sdf.format(12:43));
     
    %>
    et comme je m'y attendais je l'ai mal utilisé.
    Tomcat me genère l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP
     
    Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /Temps.jsp
     
    Erreur de servlet générée:
        [javac] Compiling 1 source file
     
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\GestionTemps\org\apache\jsp\Temps_jsp.java:48: ')' expected
    out.println(sdf.format(12:43));
                             ^
     
     
     
    Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /Temps.jsp
     
    Erreur de servlet générée:
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\GestionTemps\org\apache\jsp\Temps_jsp.java:48: ')' expected
    out.println(sdf.format(12:43));
                                  ^
    2 errors
     
     
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:83)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:315)
    	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:406)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:463)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:442)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:430)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:274)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:853)


    Heu ?
    comment je peux formater la chaine "12.43" pour obtenir 12:43?

    :
    Heu, la méthode format()attends une chaine de caractères, utilise les guillemets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    out.println(sdf.format("12:43"));

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    oui d'abord mais heu...
    en fait j'ai une erreur encore plus étrange:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    org.apache.jasper.JasperException: Cannot format given Object as a Date
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:346)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    je suis encore plus perplexe que tout à l'heure???

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut Re: [SimpleDateFormat] utilisation
    Citation Envoyé par SEMPERE Benjamin
    Citation Envoyé par Lady_jade
    bonjour je me suis baladée sur http://java.sun.com/j2se/1.4.2/docs/api/index.html
    pour trouver le formatage d'une chaine en date et heure

    seulement l'explication qui en est faite en l'anglais ne m'est pas très clair. Alors voici ce que j'ai fait dans ma page jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.text.SimpleDateFormat" errorPage="" %>
    <% 
    SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss"); 
    out.println(sdf.format(12:43));
     
    %>
    et comme je m'y attendais je l'ai mal utilisé.
    Tomcat me genère l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP
     
    Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /Temps.jsp
     
    Erreur de servlet générée:
        [javac] Compiling 1 source file
     
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\GestionTemps\org\apache\jsp\Temps_jsp.java:48: ')' expected
    out.println(sdf.format(12:43));
                             ^
     
     
     
    Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /Temps.jsp
     
    Erreur de servlet générée:
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\GestionTemps\org\apache\jsp\Temps_jsp.java:48: ')' expected
    out.println(sdf.format(12:43));
                                  ^
    2 errors
     
     
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:83)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:315)
    	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:406)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:463)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:442)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:430)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:274)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:853)


    Heu ?
    comment je peux formater la chaine "12.43" pour obtenir 12:43?

    :
    Heu, la méthode format()attends une chaine de caractères, utilise les guillemets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    out.println(sdf.format("12:43"));
    Je t'ai dis une grosse bétise, la méthode format() attend un objet Date en paramètre, désolé

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    OK alors j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.text.SimpleDateFormat" errorPage="" %>
    <% 
    SimpleDateFormat sdf = new SimpleDateFormat("dd:mm:yyyy"); 
    Date date = 2005-09-29;
    out.println(sdf.format("date"));
     
     
    %>
    Pourquoi j'ai cette erreur alors?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    org.apache.jasper.JasperException: Impossible de compiler la classe pour la JSP
     
    Une erreur s'est produite à la ligne: 3 dans le fichier jsp: /Temps.jsp
     
    Erreur de servlet générée:
        [javac] Compiling 1 source file
     
    C:\Program Files\Apache Software Foundation\Tomcat 5.0\work\Catalina\localhost\GestionTemps\org\apache\jsp\Temps_jsp.java:48: integer number too large: 09
    Date date = 2005-09-29;
                     ^
    1 error
     
     
    	org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:83)
    	org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:315)
    	org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:406)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:463)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:442)
    	org.apache.jasper.compiler.Compiler.compile(Compiler.java:430)
    	org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:511)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:274)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    ??

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut
    Je pense que tu as de grosses lacunes au niveaux des dates, je te redirige donc vers la Faq Java

    Bon courage

  7. #7
    Membre chevronné
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
    Date d1 = sdf.parse("26/10/2005");//d1 = objet date
    String d2 = sdf.format(new Date());//d2 = "26/10/2005"

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    c'est vrai que j'ai des lacunes concernant les dates et c'est pour cela que je viens chercher de l'aide sur ce site auprès des personnes qui ont plus de connaissances que moi.

    J'ai étudié la question sur la conversion des string en date proposé sur la FAQ Java (comme me la conseillé Benjamin).

    Et j'ai donc réécrit mon code de la façon suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.util.Locale" errorPage="" %>
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.text.DateFormat" errorPage="" %>
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.text.SimpleDateFormat" errorPage="" %>
    <%
     
    String sDate = "05-05-2005";
    String sFormat = "dd/mm/yyyy";
    SimpleDateFormat sdf = new SimpleDateFormat(sFormat);
    sdf.parse(sDate);
    out.println(sdf.parse(sDate));
     
    %>
    et j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    javax.servlet.ServletException: Unparseable date: "05-05-2005"
    	org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    	org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    	org.apache.jsp.Temps2_jsp._jspService(Temps2_jsp.java:87)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    Au risque de passer pour une désespérée, j'aimerais bien qu'une bonne âme me file un coup de main sur cette nouvelle erreur.

    Merci

  9. #9
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %> 
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.util.Locale" errorPage="" %> 
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.text.DateFormat" errorPage="" %> 
    <%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.text.SimpleDateFormat" errorPage="" %> 
    <% 
     
    String sDate = "05/05/2005"; 
    String sFormat = "dd/MM/yyyy"; 
    SimpleDateFormat sdf = new SimpleDateFormat(sFormat); 
    sdf.parse(sDate); 
    out.println(sdf.parse(sDate)); 
     
    %>
    Comme ca, ca devrait marcher

    Attention le sFormat="dd/MM/yyyy" et pas "dd/mm/yyyy" (en minuscules)

  10. #10
    Membre émérite

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Par défaut
    Si tu veux que ça marche avec tes tirets tu peux essayer comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String sFormat = "dd-MM-yyyy";

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Par défaut
    comme quoi des tirets peuvent nous pourrir la vie!

    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Mois inatendu en utilisant SimpleDateFormat
    Par GREGOIRE TARDY dans le forum Langage
    Réponses: 2
    Dernier message: 18/09/2014, 12h52
  2. Utilisation du SimpleDateFormat
    Par hadler dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 28/08/2009, 15h39
  3. utilisation du meta type ANY
    Par Anonymous dans le forum CORBA
    Réponses: 1
    Dernier message: 15/04/2002, 12h36
  4. [BCB5] Utilisation des Ressources (.res)
    Par Vince78 dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/04/2002, 16h01
  5. Réponses: 2
    Dernier message: 20/03/2002, 23h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo