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 :

display regular time


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut display regular time
    bonjour expliquez moi cette ligne s'il vous plaît
    return String.format("%d: %02d: %02d %s",((hour==0||hour==12)?12:hour%12),minute,second,(hour<12?"AM":"PM"));

    j'ai compris jusqu'à là
    %02d veut dire 2 decimales

    s veut dire string

    hour==0||hour==12)?12:hour%12 veut dire
    si hour strictement egal 0 ou hour strictement egal 12 on met 12 si non
    à partir de là je ne comprends pas

    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
    36
    37
     
    package javaapplication1;
    public class Tuna
    {
        private int hour;
        private int minute;
        private int second;
     
        public void setTime(int h,int m, int s)
        {
            hour=((h>=0 && h<24)? h:0);
            minute=((m>=0 && m<60)? m:0);
            second=((s>=0 && s<60 ? s:0));   
        }
        public String toMilitary()
        {
            return String.format("%02d:%02d:%02d",hour,minute,second);
        }
        public String toString()
        {
            return String.format("%d: %02d: %02d %s",((hour==0||hour==12)?12:hour%12),minute,second,(hour<12?"AM":"PM"));
        }
    }
    package javaapplication1;
     
    public class Apples
    {
     public static void main(String[]args)
       {
         Tuna tunaObject=new Tuna ();
         System.out.println(tunaObject.toMilitary());
         System.out.println(tunaObject.toString());
         tunaObject.setTime(13,27,6);
         System.out.println(tunaObject.toMilitary());
         System.out.println(tunaObject.toString());
       }
    )

  2. #2
    Membre très actif Avatar de unknow0
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 452
    Par défaut
    Bonjour,
    Citation Envoyé par domxaline Voir le message
    bonjour expliquez moi cette ligne s'il vous plaît
    return String.format("%d: %02d: %02d %s",((hour==0||hour==12)?12:hour%12),minute,second,(hour<12?"AM":"PM"));

    j'ai compris jusqu'à là
    %02d veut dire 2 decimales
    nombre entier sur deux digit plutot

    hour==0||hour==12)?12:hour%12 veut dire
    si hour strictement egal 0 ou hour strictement egal 12 on met 12 si non
    à partir de là je ne comprends pas
    sinon on met hour modulo 12 (reste de la division entiere par 12)

    idem ici (hour<12?"AM":"PM")
    si hour<12 on ecrit am sinon pm

  3. #3
    Membre chevronné
    Inscrit en
    Avril 2010
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 239
    Par défaut
    Bonjour,

    return String.format("%d: %02d: %02d %s",((hour==0||hour==12)?12:hour%12),minute,second,(hour<12?"AM":"PM"));
    %d : remplacé par l'entier ((hour==0||hour==12)?12:hour%12)
    (si hour = 12 ou 0, alors on met 12, sinon on met hour modulo 12 (a modulo b = reste de la division entière de a par b)

    %02d : remplacé par l'entier minute

    %02d : remplacé par l'entier second

    %s : remplacé par la chaine de caractères (hour<12?"AM":"PM") (si hour < 12 alors on met "AM", sinon on met "PM")

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 684
    Par défaut
    merci beaucoup,j'ai compris

  5. #5
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Soit dit en passant, c'est une manière bien compliquée d'afficher l'heure. Personnellement je transformerais tout ça en Date et utiliserais plutôt un SimpleDateFormat.
    Pas besoin de s'embêter à faire des conditions sur 12 ou sur AM/PM.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [Kylix] Kylix 3 et redhat 9 time.h
    Par pixelrock dans le forum EDI
    Réponses: 6
    Dernier message: 27/09/2003, 20h41
  2. [LG]Pause de programme ou Break time
    Par lvdnono dans le forum Langage
    Réponses: 11
    Dernier message: 17/05/2003, 17h23
  3. mise à jour de champs time (interbase)
    Par pram dans le forum XMLRAD
    Réponses: 6
    Dernier message: 04/03/2003, 10h25
  4. calcul entre 2 champs time
    Par pram dans le forum XMLRAD
    Réponses: 2
    Dernier message: 19/02/2003, 10h12
  5. [Kylix] Kylix 3 C++ OE et fichier time.h
    Par Max13 dans le forum EDI
    Réponses: 7
    Dernier message: 30/10/2002, 14h55

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