我有一个android时间选择器,我需要在java代码中获取时间,并将其转换为具有此外观的字符串:“08:00:00”(小时,分钟,秒)
有人可以帮助我轻松完成吗?
代码示例将不胜感激
答案 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种方法可用于获取设定时间。 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小时的时间。
答案 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
,非常有用。