我有一个 android timepicker,我需要在 java 代码中获取他的时间,并将其转换为具有以下外观的字符串:“08:00:00”(小时、分钟、秒)
有人可以帮助我以简单的方式做到这一点吗?
代码示例将不胜感激
我有一个 android timepicker,我需要在 java 代码中获取他的时间,并将其转换为具有以下外观的字符串:“08:00:00”(小时、分钟、秒)
有人可以帮助我以简单的方式做到这一点吗?
代码示例将不胜感激
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
TimePicker
有 2 种方法可用于获取设定时间。getCurrentHour
和getCurrentMinute
。
因此,将其作为字符串输出应该不会太难。
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 小时时钟。
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
String formatted = format.format(date); // date is a long in milliseconds
只需使用 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
也可以看看DateUtils
,非常有用。