简体   繁体   中英

Java Date parsing from specific String format under Android env

What's wrong with below date format? I'm getting java.text.ParseException: Unparseable date Thu, 03 May 2012 14:00:00 CEST

String inputDate = "Thu, 03 May 2012 14:00:00 CEST";
SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z");
Date parsedDate = DATE_FORMATTER.parse(inputDate);

I have tried below combinations but am out of luck:

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

I'm getting the same exception if modify CEST to CET, but not for PST. Any pointer will be appreciated. Thanks.

Its working... see this..

- Please correct the typo from inputDateString to inputDate in parse()

Its a Working Java Code... Modify it to suit your Android use....

public class CopyArray {

    public static void main(String[] args) {

        String inputDate = "Thu, 03 May 2012 14:00:00 CEST";
        SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat(
                "EEE, d MMM yyyy HH:mm:ss z");
        try {
            Date parsedDate = DATE_FORMATTER.parse(inputDate);
            System.out.println(parsedDate);
        } catch (ParseException e) {

            e.printStackTrace();
        }

    }
}

除了你正在试图解析小问题inputDateString当您的变量实际上是所谓的inputDate ,我能够没有例外运行代码。

It works for me too

package test.java;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
    public static void main(String[] args) throws ParseException {
        String inputDate = "Thu, 03 May 2012 14:00:00 CEST";
        SimpleDateFormat DATE_FORMATTER = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z");
        Date parsedDate = DATE_FORMATTER.parse(inputDate);
        System.out.println("Date = " + parsedDate);
    }
}

And the output I get is:

Date = Thu May 03 13:00:00 BST 2012

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM