2010-12-13 48 views

Répondre

7
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss"); 
String formatted = format.format(date); // date is a long in milliseconds 
+1

est pas une date, est un temps: S – NullPointerException

+0

aussi ne fonctionne pas, il me donne une exception d'argument illégal, parce que je dois passer un timepicker à format.format(); et vous passez une date: S – NullPointerException

+0

Je suppose que vous savez comment obtenir le temps en millisecondes à partir du sélecteur, puis utilisez simplement formatter pour obtenir la chaîne. Vous pouvez substituer 'date' par' time' dans l'extrait de code - rien ne changera, puisque les deux devraient être un nombre de millisecondes. –

12
TimePicker t = new TimePicker(this); 

String formattedTime = ""; 
int hour = t.getCurrentHour(); 
String sHour = "00"; 
if(hour < 10){ 
sHour = "0"+hour; 
} else { 
sHour = String.valueOf(hour); 
} 

int minute = t.getCurrentMinute(); 
String sMinute = "00"; 
if(minute < 10){ 
sMinute = "0"+minute; 
} else { 
sMinute = String.valueOf(minute); 
} 

formattedTime = sHour+":"+sMinute+":"+"00"; // Sorry you can't get seconds from a TimePicker 
7

TimePicker a 2 méthodes pour obtenir le temps de jeu. getCurrentHour et getCurrentMinute.

Ainsi, la sortie en tant que chaîne ne devrait pas être trop difficile.

String s; 
Format formatter; 
Calendar calendar = Calendar.getInstance(); 
// tp = TimePicker 
calendar.set(Calendar.HOUR_OF_DAY, tp.getCurrentHour()); 
calendar.set(Calendar.MINUTE, tp.setCurrentMinutes()); 
calendar.clear(Calendar.SECOND); //reset seconds to zero 

formatter = new SimpleDateFormat("HH:mm:ss"); 
s = formatter.format(calendar.getTime()); // 08:00:00 

Soit dit en passant, en minuscules hh vous obtiendrez une horloge de 12 heures.

+0

Je viens de réaliser que j'ai mis le format à ': ss' quand vous voudriez probablement' 00' et pas les secondes actuelles. Vous pouvez changer le format en "" HH: mm: 00 "' –

1

Vérifiez également DateUtils, très utile. Utilisez simplement SimpleDateFormat pour mettre en forme la date et l'heure.

2

Calendar cal=new Calendar(); 
SimpleDateFormat frmDate=SimpleDateFormat("dd-MM-yyyy"); 
String s=frmDate.format(cal.getTime()); 
SimpleDateFormat frmTime=SimpleDateFormat("HH:MM:SS"); 
String t=frmTime.formate(cal.getTime()); 

http://developer.android.com/reference/java/text/SimpleDateFormat.html http://developer.android.com/reference/java/text/DateFormat.html