2016-10-24 1 views
2

Je l'ai essayé avec un tampon de chaîne mais cela ne peut pas être fait, je suis en train d'imprimer la date à partir de la boîte de dialogue du sélecteur de date. La valeur des minutes montre seulement 0 comme 1: 00 pm au lieu de 13h00.Comment imprimer la valeur zéro sous la forme de deux zéros

customTimePickerDialogsEnd = new CustomTimePickerDialog(getActivity(), 
    new TimePickerDialog.OnTimeSetListener() { 
     @Override 
     public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
      StringBuffer s = new StringBuffer(minute); 
      if (minute == 0) { 
      s.append(0); 
      tvEndTime.setText(" " + hourOfDay + ":" + s); 
      System.out.println("minute = " + minute); 
      } else { 
      System.out.println("minute = " + minute); 
      tvEndTime.setText(" " + hourOfDay + ":" + minute); 
      } 
     } 
    }, mHour, mMinute, true); 

Merci.

+0

Votre '' if' et déclarations else' paraissent étranges. (Heures et minutes intervertis je suppose) –

Répondre

3

Vous pouvez utiliser System.out.printf

par exemple

System.out.printf("minute = %02d \n" + minute); 

Ou System.out.format (équivalent)

Voir https://docs.oracle.com/javase/tutorial/java/data/numberformat.html

ou si vous voulez juste enregistrer le ouput comme String puis il y a aussi

String str = String.format ("minute = %02d \n" + minute); 
0

Thanx effrayant, i fait d'une autre manière, c'est très simple. customTimePickerDialogStart = new CustomTimePickerDialog (getActivity(), nouvelle TimePickerDialog.OnTimeSetListener() {

 @Override 
     public void onTimeSet(TimePicker view, int hourOfDay, int minute) { 
      if (minute == 0) { 
       String mins = "00"; 
       tvStartTime.setText(" " + hourOfDay + ":" + mins); 
      } else { 
       tvStartTime.setText(" " + hourOfDay + ":" + minute); 
      } 
     } 
    }, mHour, mMinute, true);