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 :

Simple Date Format


Sujet :

Collection et Stream Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Par défaut Simple Date Format
    Bonjour !

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    import java.text.SimpleDateFormat;
     
    public class Testeur
    {
    	public static void main (String [] args)
    	{
    		SimpleDateFormat sdf = new SimpleDateFormat();
     
    		System.out.println(sdf.get2DigitYearStart() );
     
    	}
    }
    voici le résultat :

    Wed Nov 16 08:02:01 CET 1927
    Pourquoi 1927 au lieu de 2007 ?

    Pourquoi Wed ? Nous sommes pourtant vendredi. Le pire, c' est que hier aussi c' était Wed (Mercredi) alors que nous étions jeudi.

    Par contre, le jour du moi (16 ou 15 hier ) est toujours correct. L' heure aussi.

    Bref, moi je voudrais que la date et l' heure soit affiché sans le CET. D' abord, ça veut dire quoi CET ?

    Merci d' avance pour vos vos réponses.

  2. #2
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    Apprend à lire la JavaDoc. Tout y est même la réponse à ta question sur la méthode Date get2DigitYearStart() .

    Amicalement Jowo

  3. #3
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Ben Moi, Je Sais Pas lire les Javadoc !

    Surtout avec une réponse comme la tienne...
    Tous le monde pensera comme moi...

    - tu m'expliques la javadoc en question en guise de punition, pour le non respect du forum...
    - tu ecris 100 fois les rules du forum
    - tu t'excuses simplement, mais tu donnes quand même la réponse, car tu serais bien content d'une avoir une réponse à sa place.

    Laurent
    Citation Envoyé par jowo Voir le message
    Bonjour,

    Apprend à lire la JavaDoc. Tout y est même la réponse à ta question sur la méthode Date get2DigitYearStart() .

    Amicalement Jowo

  4. #4
    Membre Expert
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Par défaut
    bonjour
    Citation Envoyé par Lorantus
    Ben Moi, Je Sais Pas lire les Javadoc !
    arretes java

    les regles du forum dit surtout qu'il faut faire des efforts personnels alors moi aussi je te conseille d'aller voir la javadoc et apres tu reviens poser tes question
    @+(sans racune)
    c'est quoi ton but et que cherche tu as faire exactement?si c'est juste pour afficher l'heure et la date il y a Gregorian Calendar

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 140
    Par défaut
    Bonjour !

    Je me suis absentée du forum quelques jours. Je n' ai pas pu intervenir tout de suite.

    à Jowo :

    Je connais la javadoc. Je sais la lire. Mais il faut savoir que tout n' est pas compréhensible. Surtout si tu ne maitrise pas l' anglais. Quoi qu' il en soit, mes questions méritaient quand même une réponse comme le souligne Lorantus.

    à Krachik
    Mon problème, c' est que je veux apprendre à afficher l' heure à un instant t. Mais aussi l' heure en direct. C' est à dire, l' heure en continu. heure, minutes et secondes qui défilent. On m' a donné un certain nombre de classes pour que je recherche moi même dans la javadoc. Ces classes sont : Date, DateFormat, SimpleDateFormat, Calendar et GregorianCalendar.
    La personne qui m' a donné ces classes sait que j' adore faire des recherches moi même. J' ai vu que les méthodes de la classe Date sont presque toutes dépréciées.
    DateFormat est une classe abstraite et je ne sais pas encore comme m' y prendre avec les classes abstraites. L' instanciation d' un objet DateFormat me renvoie une erreur.
    J' ai donc trouvé que SimpleDateFormat marchait. EN fait, pas vraiment.
    L' année, c 1927 au lieu de 2007. L' heure à l' instant t, c bon. Mais le jour de la semaine n' est pas bon. Le jeudi dernier, c' est Wed (mercredi) qui est affiché. Et le jour d' après (Vendredi), c' est toujours Wed qui est affiché.

    J' ai donc bien vu la javadoc. Mais la question que je pose n' a rien à voir, je pense, avec le fait d' y être allée ou pas. Je me trompe peut-être. Mais dans tous les cas, je crois que je mérite une réponse autre que celle de jowo.

    Qui que vous soyez, je souhaiterais une aide. Merci !

  6. #6
    Membre éprouvé
    Avatar de Deadpool
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 312
    Par défaut
    Bonjour.

    Le principe d'un DateFormat (et donc de SimpleDateFormat) c'est de te renvoyer une chaine de caractère représentant la date que tu lui passe en paramètre selon le format que tu lui as défini, chaîne de caractère qui tu pourras ensuite afficher.

    Ce qui tu fait ne sert donc strictement à rien car tu utilise une méthode de SimpleDateFormat qui renvoie un objet Date qui sera affiché comme défini dans sa méthode toString() et pas comme spécifié dans le SimpleDateFormat.

    En bref tu n'utilise pas la fonctionnalité de SimpleDateFormat.

    Pour utiliser un SimpleDateFormat il faut tout d'abord définir le format dans lequel tu veux afficher tes dates, cela peut se faire au moment où tu construit ton objet SimpleDateFormat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
    Là par exemple, c'est un SimpleDateFormat qui affichera les dates sous la forme :

    19/11/2007 08:34:45

    Les différents templates utilisables pour définir le format sont présentés au début de la description de la classe SimpleDateFormat dans la Javadoc. Je t'invite à t'y référer.

    Après, pour afficher une date selon le format défini, il suffit de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Date date = new Date();
    System.out.println(sdf.format(date)); //affiche la date actuelle selon le format défini plus haut.
    CET ça veut dire Central European Time, c'est la Timezone configuré sur ton système. La Timezone est affiché dans l'affichage par défaut d'une Date.

    Si tu as d'autres questions précises, ou si j'ai dit un truc qui te semble pas clair, n'hésites pas.

  7. #7
    Membre Expert
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 414
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 414
    Par défaut
    Bonjour,

    SimpleDateFormat est une classe qui permet de formatter et de lire une date. Dans ton exemple, tu n'utilises pas cette classe pour formater ta date.

    En effet la méthode 'get2DigitYearStart()' te retourne une date 'pivot' (je reviendrai sur cette méthode) que tu affiches à l'aide de println(Object x). La méthode 'println(Object x)' va appeller la méthode toString() de l'object Date retournée par 'get2DigitYearStart()'.

    Quelle information retourne get2DigitYearStart()?
    Elle retourne la date 'pivot' pour l'interprétation en interne des années affichées en 2 caractères. SimpleDateFormat utilise cette méthode lorsqu'elle doit "parser" une date où l'année est saisie qu'en 2 caractères.
    Donc avec ton exemple, on remarque que 27 sera interpréte comme 1927 (je ne tiens pas compte du mois et du jour).

    CET est l'information du timezone. CET correspond à Central European Time donc à l'heure de l'europe centrale (France, Suisse et autres)

    Enfin pour te répondre voici un bout de code non testé:
    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
     
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    import java.util.Locale;
     
    public class TestSimpleDateFormat
    {
    	public static void main (String [] args)
    	{
    		/* Format Jour/Mois en lettre/Année sur deux caractères */
        String monFormat = "dd-MMM-yy";
        /* Mois et autres infos en français */
        final Locale maLocale = Locale.FRENCH;
     
        /* Interpréte les arguments passés comme un format pour date et heure */
        if (args.length > 0) {
           final StringBuffer sb = new StringBuffer(80);
           sb.append(args[0]);
           for (int i = 1; i < args.length; ++i) {
              sb.append(" ");
              sb.append(args[i]);
           }
           monFormat = sb.toString();
        } 
     
        final SimpleDateFormat sdf = new SimpleDateFormat(monFormat, maLocale);
    		final Calendar maDate = GregorianCalendar.getInstance();
    		System.out.println(sdf.format(maDate.getTime()));
    	}
    }
    Bien amicalement

    grillé par Deadpool

Discussions similaires

  1. affichage date() format anglais
    Par nazimb dans le forum ASP
    Réponses: 10
    Dernier message: 14/10/2004, 14h08
  2. [java.sql.Date] format compatible tout sgbd ?
    Par djskyz dans le forum JDBC
    Réponses: 8
    Dernier message: 15/09/2004, 11h28
  3. Resutlat de calcul sur date formaté
    Par neness dans le forum SQL
    Réponses: 6
    Dernier message: 16/06/2004, 15h34
  4. [Date][SQL date][Format] insertion d'une heure
    Par goulime dans le forum JDBC
    Réponses: 11
    Dernier message: 26/01/2004, 11h38
  5. Date format français
    Par coca dans le forum XMLRAD
    Réponses: 2
    Dernier message: 17/11/2003, 08h46

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