在android中更改datestring格式

我从SAXparsing像这样得到datestring: Wed,18 Apr 2012 07:55:29 +0000

现在,我想要这个string: 2012年4月18日下午01:25

我怎样才能做到这一点?

Related of "在android中更改datestring格式"

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); 

这将做到这一点:

 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"; 

从官方文档来看,在新的API(18+)中你应该实现这个:

 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.US); String time=sdf.format(new Date()); 

文档: http : //developer.android.com/reference/java/text/SimpleDateFormat.html

最简单的解决scheme是使用DateFormat的getter方法:getDateTimeInstance DateFormat对象的格式如下所示:1969年12月31日下午4:00:00,但在4:00之后还有那些额外的零

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

这对我来说很有用,使用SimpleDateFormatCalendar

 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());