2012-05-03 71 views

回答

99
SimpleDateFormat format = new SimpleDateFormat("MMM dd,yyyy hh:mm a"); 
String date = format.format(Date.parse("Your date string")); 

更新: -

正如上,Date.parse("Your date string");已被棄用。

String strCurrentDate = "Wed, 18 Apr 2012 07:55:29 +0000"; 
SimpleDateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:ss Z"); 
Date newDate = format.parse(strCurrentDate); 

format = new SimpleDateFormat("MMM dd,yyyy hh:mm a"); 
String date = format.format(newDate); 
+0

我想標記你的答案接受答案。但它不允許我...:P –

+0

在15分鐘後它將允許15分鐘後嘗試.. –

+1

Date.parse()已棄用:( – Jorgesys

14

這將做到這一點:

public static String formateDateFromstring(String inputFormat, String outputFormat, String inputDate){ 

    Date parsed = null; 
    String outputDate = ""; 

    SimpleDateFormat df_input = new SimpleDateFormat(inputFormat, java.util.Locale.getDefault()); 
    SimpleDateFormat df_output = new SimpleDateFormat(outputFormat, java.util.Locale.getDefault()); 

    try { 
     parsed = df_input.parse(inputDate); 
     outputDate = df_output.format(parsed); 

    } catch (ParseException e) { 
     LOGE(TAG, "ParseException - dateFormat"); 
    } 

    return outputDate; 

} 

例子:

String date_before = "1970-01-01"; 
String date_after = formateDateFromstring("yyyy-MM-dd", "dd, MMM yyyy", date_before); 

輸出:

date_after = "01, Jan 1970"; 
1

,最簡單的解決方案是使用DateFormat的getter方法: 的getDateTimeInstance DateFormat對象格式日期這樣的:1969年12月31日下午四點00分00秒,但是有那些額外的零後4:00

Date date = new Date(); 
String fDate = DateFormat.getDateTimeInstance().format(date); 
System.out.println(fDate); 
0

這是我的作品,使用的SimpleDateFormat日曆

String originDate = "Wed, 18 Apr 2012 07:55:29 +0000"; 
SimpleDateFormat formatIn = new SimpleDateFormat("EEE, dd MMM yyyy hh:mm:ss Z"); 
SimpleDateFormat formatOut = new SimpleDateFormat("MMM dd,yyyy hh:mm a"); 
Calendar calendar = Calendar.getInstance(); 
calendar.setTime(formatIn.parse(originDate)); 

String newDate = formatOut.format(calendar.getTime());