2

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

有人可以帮助我以简单的方式做到这一点吗?

代码示例将不胜感激

4

5 回答 5

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
于 2010-12-13T16:19:04.673 回答
8

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 小时时钟。

于 2010-12-13T16:22:23.287 回答
7
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
String formatted = format.format(date); // date is a long in milliseconds
于 2010-12-13T16:06:05.167 回答
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

于 2012-01-12T10:10:46.153 回答
1

也可以看看DateUtils,非常有用。

于 2010-12-13T16:23:26.033 回答