Как я могу получить время TimePicker в этом формате -> "08:00:00"? - PullRequest
2 голосов
/ 13 декабря 2010

У меня есть устройство выбора времени для Android, и мне нужно получить его время в коде Java и преобразовать его в строку с таким появлением: "08:00:00" (часы, минуты, секунды)

Может ли кто-нибудь помочь мне сделать это простым способом?

Пример кода будет оценен

Ответы [ 5 ]

12 голосов
/ 13 декабря 2010
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 голосов
/ 13 декабря 2010

TimePicker имеет 2 метода для получения установленного времени.getCurrentHour и getCurrentMinute.

Таким образом, вывод этого в виде строки не должен быть слишком сложным.Кстати, строчная hh даст вам 12-часовые часы.

7 голосов
/ 13 декабря 2010
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
String formatted = format.format(date); // date is a long in milliseconds
2 голосов
/ 12 января 2012

Просто используйте SimpleDateFormat для форматирования даты и времени.

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

1 голос
/ 13 декабря 2010

Также проверьте DateUtils, очень полезно.

...