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

avec Java Discussion :

Transformer (int année, int mois, int jour) en millisecondes


Sujet :

avec Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    Bonjour,

    J'ai des valeurs (int année, int mois, int jour)
    par example :
    - 1980 1 20
    - 1975 5 13

    Comment puis-je les combiner en 1 int ?
    Je dois les comparer, afin de les classer avec la méthode compareTo().

    Je n'arrive à les classer que par année ou par jour ou par mois mais comme j'ai plusieurs fois la même année et que les mois sont différents, alors le classement n'est plus juste.

    On m'a dit qu'il faut les convertir en Date(), pour ensuite les convertir avec la méthode qui permet de les transformer en millisecondes.

    2ème question:
    Je dois faire une classe qui n'accepte que les date à partir de 01/01/1980 jusqu'à 31/12/2000

    Quelqu'un saurait-il m'expliquer comment faire ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 552
    Points : 21 608
    Points
    21 608
    Par défaut
    Citation Envoyé par Logic_613 Voir le message
    il y a quelqu'un qui m'a dit que je dois les converter en date() pour ensuite les converter avec la methode pour les converter en milliseconde.
    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
    // Calendrier à la date et heure actuelle
    Calendar cal = Calendar.getInstance();
    // le régler à Epoch
    cal.clear();
    // le régler à la date voulue
    cal.set(Calendar.YEAR, 1980);
    cal.set(Calendar.MONTH, Calendar.JANUARY);
    cal.set(Calendar.DAY_OF_MONTH, 20);
    // Obtenir l'objet Date
    Date date = cal.getTime();
     
    // Si tu y tiens vraiment, voici comment obtenir le nombre
    // de millisecondes depuis Epoch GMT. Mais l'objet Date
    // suffisait
    long millis = date.getTime();
    Note : il faut vraiment utiliser Calendar.JANUARY et non pas 1. Les mois ne commencent pas par 1, mais par Calendar.JANUARY. Oui, c'est nul.

    Citation Envoyé par Logic_613 Voir le message
    je dois faire une classe qui n'accepte que les date a partir de 01/01/1980 jusqu'a 31/12/2000

    comment s'y prendre?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DateFormat format = new SimpleDateFormat("dd/MM/yyyy");
    Date minDate = format.parse("01/01/1980");
    Puis tu construis maxDate en utilisant le même format.
    Quand tu veux vérifier tu fais maDate.after(minDate) et maDate.before(maxDate)

    Note : construire des dates est stupidement compliqué, en Java de base. Quand tu auras un peu progressé, regarde du côté de Joda-Time : une bibliothèque qui simplifie beaucoup la gestion des dates.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    Merci

    Pour la n°1:

    Je dois utiliser le new date().

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Datum n1 = new Datum(2005, 5, 12);
    Je dois convertir un object (int annee, int mois, int jour) en Date().

    Comment puis-je faire cela ?

    Comme ça je peux utiliser la methode .getTime().

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    74
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2012
    Messages : 74
    Points : 49
    Points
    49
    Par défaut
    ça marche, merci

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

Discussions similaires

  1. Transformer une variable string en int
    Par Nikogram dans le forum C#
    Réponses: 4
    Dernier message: 18/10/2009, 20h47
  2. transformer un char(chiffre) en int
    Par coxinella dans le forum Général Java
    Réponses: 11
    Dernier message: 22/02/2008, 15h29
  3. Conversion de mois string en mois int +1
    Par choubak dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 05/07/2007, 09h10
  4. Réponses: 3
    Dernier message: 23/02/2006, 09h37
  5. Transformation d'un vector en int !
    Par casafa dans le forum SL & STL
    Réponses: 12
    Dernier message: 08/04/2005, 22h25

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