Android日期到字符串转换问题

时间:2016-04-07 05:42:53

标签: android string parsing datetime-format

我想转换:Wed Apr 06 09:37:00 GMT + 03:00 2016至02/02/2012。 我尝试了什么

    SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss z yyyy");
    Date date = sdf.parse(mydate);

 String mydate =  "Wed Apr 06 09:37:00 GMT+03:00 2016";
            SimpleDateFormat src = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy");
            SimpleDateFormat dest = new SimpleDateFormat("dd/MM/yyyy");
            Date date = null;
            try {
                date = src.parse(mydate);
            } catch (ParseException e) {
                Log.d("deneme",e.getMessage());
            }
            String result = dest.format(date);

但它给出错误无法解释的日期:" Wed Apr 06 09:37:00 GMT + 03:00 2016" (在偏移0处)任何想法我怎么解析它?

1 个答案:

答案 0 :(得分:0)

我认为您正在尝试格式化英语区域设置日期,但您的系统区域设置不是英语。因此,当您创建SimpleDateFormat对象时,请指定Locale明确。

试试这段代码,

    String mydate = "Wed Apr 06 09:37:00 GMT+03:00 2016";
    SimpleDateFormat src = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.ENGLISH);
    SimpleDateFormat dest = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH);
    Date date = null;
    try {
        date = src.parse(mydate);
    } catch (ParseException e) {
        Log.d("Exception",e.getMessage());
    }
    String result = dest.format(date);
    Log.d("result", result);