如何以这种格式获得TimePicker的时间 - > “08:00:00”?

时间:2010-12-13 15:43:19

标签: android parsing timepicker

我有一个android时间选择器,我需要在java代码中获取时间,并将其转换为具有此外观的字符串:“08:00:00”(小时,分钟,秒)

有人可以帮助我轻松完成吗?

代码示例将不胜感激

5 个答案:

答案 0 :(得分: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

答案 1 :(得分:7)

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

答案 2 :(得分:7)

TimePicker有2种方法可用于获取设定时间。 getCurrentHourgetCurrentMinute

因此将其输出为字符串不应该太难。

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

顺便说一句,小写hh将为您提供12小时的时间。

答案 3 :(得分:2)

只需使用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

答案 4 :(得分:1)

同时查看DateUtils,非常有用。