如何使用" Wed,01 Jul 2015 17:32:41 EDT解析字符串到目前为止

时间:2015-07-02 08:02:27

标签: java android date formatter

以下是解析器的代码" Wed,01 Jul 2015 17:32:41 EDT",但它仍然无效。 有谁能帮我解决这个问题?非常感谢。

   SimpleDateFormat formatter = new SimpleDateFormat("EEE dd MMM yyyy HH:mm:ss zzz");
    try {
        return formatter.parse(text);
    } catch (ParseException e) {
        e.printStackTrace();
    }

4 个答案:

答案 0 :(得分:1)

试试这个

public static void main(String args[]) {
        SimpleDateFormat formatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");
    try {
        System.out.println(formatter.parse("Wed, 01 July 2015 17:32:41 EDT"));
    } catch (Exception e) {
        e.printStackTrace();
    }}

输出: Thu Jul 02 03:02:41 IST 2015

答案 1 :(得分:0)

周三之后你有一个, ...你需要以格式说明...

使用"EEE, dd MMM yyyy HH:mm:ss zzz"

答案 2 :(得分:0)

使用逗号和语言环境(周四是英语):

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH);

答案 3 :(得分:0)

试试这个。

    try {
        String s = "Wed, 01 Jul 2015 17:32:41 EDT";
        SimpleDateFormat df = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.US); //Or Locale.ENGLISH
        df.setTimeZone(TimeZone.getTimeZone("EDT"));

        //Or set timeZone to GMT-4:00 because EDT is GMT-4:00
        //df.setTimeZone(TimeZone.getTimeZone("GMT-04:00"));

        Date time = null;
        time = df.parse(s);
        System.out.println("Time = " + s);
        String parsed = df.format(time);

        } catch (Exception e) {
        e.printStackTrace();
    }

输出是:

  

Old = Wed,01 Jul 2015 17:32:41 EDT