如何在Android中将日期从12小时格式化为24小时格式

时间:2012-09-13 06:12:36

标签: android android-date

你好我有约会的日期..

String date="09:00 AM"

但我需要 09:00:00

所以我使用了以下内容。

 String date="09:00 AM"  
 SimpleDateFormat f1 = new SimpleDateFormat("hh:mm:ss");
 Date d1= f1.parse(date);

但它给了我解析异常。

请帮我找到这个。

提前致谢。

2 个答案:

答案 0 :(得分:1)

解析该日期的格式不正确,您需要以下内容:

"hh:mm a"

获得日期对象后,可以使用其他格式输出日期对象。以下代码段显示了如何:

import java.text.SimpleDateFormat;
import java.util.Date;

String date = "09:27 PM";

SimpleDateFormat h_mm_a   = new SimpleDateFormat("h:mm a");
SimpleDateFormat hh_mm_ss = new SimpleDateFormat("HH:mm:ss");

try {
    Date d1 = h_mm_a.parse(date);
    System.out.println (hh_mm_ss.format(d1));
} catch (Exception e) {
    e.printStackTrace();
}

输出:

21:27:00

正如您所料。

答案 1 :(得分:0)

Date c = Calendar.getInstance().getTime();

//day of the month

//EEEE---full day name
//EEE- 3 chars of the day
SimpleDateFormat outFormat = new SimpleDateFormat("EEE");
String dayof_month = outFormat.format(c);

//date
//MMM--3 chars of month name
//MM--number of the month
SimpleDateFormat df = new SimpleDateFormat("dd-MMM-yyyy");
String formattedDate = df.format(c);

//time
//hh---12 hrs format
//HH---24 hrs format
// a stands for AM/PM
DateFormat date = new SimpleDateFormat("hh:mm:ss a");
String localTime = date.format(c);

login_date_text.setText(dayof_month +" , "+formattedDate);
login_time_text.setText(localTime);

Log.e("testing","date ==" +dayof_month +" , "+formattedDate);
Log.e("testing","time ==" +localTime);