android:更改日期格式

时间:2016-01-04 13:19:37

标签: android parsing datetime

我希望以“dd MMM yyyy”格式显示日期。我的输入日期是某个时间 2015年12月30日19:57:15有些案例是2015年12月30日上午11:59:20

我的代码为第二种情况提供了错误。 我怎么能这样做,它以任何形式或任何其他新格式处理日期

 DateFormat toFormat = new SimpleDateFormat( "dd MMM yyyy");
    toFormat.setLenient(false);
    Date date = null;
    try {
        date = toFormat.parse(dateSent);
        date = toFormat.parse("Dec 30, 2015 11:59:20 AM");
    } catch (ParseException e) {
        e.printStackTrace();
    }

2 个答案:

答案 0 :(得分:1)

你可以这样做:

   /**
     * Convert Date from-to Format
     *
     * @param date
     * @return
     */
    public static String convertDate(String date, String fromFormat, String toFormat) {
        try {
            return new SimpleDateFormat(toFormat, Locale.ENGLISH).format(new SimpleDateFormat(fromFormat, Locale.ENGLISH).parse(date));
        } catch (Exception e) {
            Log.e(TAG, "Date Converting " + date + " : " + e.getLocalizedMessage());
        }
        return "";
    }

答案 1 :(得分:0)

DateFormat toFormat = new SimpleDateFormat( "dd MMM yyyy");
DateFormat toFormat1 = new SimpleDateFormat( "MMM dd yyyy");
toFormat.setLenient(false);
Date date = null;
try {
    date = toFormat.parse(dateSent);
} catch (ParseException e) {
    e.printStackTrace();
}
if(date == null){
    try {
        date = toFormat1.parse(dateSent);
    } catch (ParseException e) {
        e.printStackTrace();
    }
}
return date;