解析上次修改日期时解析错误

时间:2018-11-12 17:30:23

标签: java android

我不确定,怎么了。这是我的代码:

String lastModifiedString = connection.getHeaderField("Last-Modified"); //Wed, 10 Oct 2018 10:57:42 GMT
Log.d("OUTPUT", lastModifiedString);
DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.getDefault());
Date lastModifiedDate = format.parse(lastModifiedString);
System.out.println(lastModifiedDate);

但是我总是会进入Logcat:

D/OUTPUT: Wed, 10 Oct 2018 10:21:45 GMT
E/Error @ NewsletterLates: Unparseable date: "Wed, 10 Oct 2018 10:21:45 GMT" (at offset 0)
W/System.err: java.text.ParseException: Unparseable date: "Wed, 10 Oct 2018 10:21:45 GMT" (at offset 0)
W/System.err:     at java.text.DateFormat.parse(DateFormat.java:579)
    at bdk.de.bdk_app.NewsletterLatestReleaseGetter.doInBackground(NewsletterLatestReleaseGetter.java:48)
    at bdk.de.bdk_app.NewsletterLatestReleaseGetter.doInBackground(NewsletterLatestReleaseGetter.java:16)
    at android.os.AsyncTask$2.call(AsyncTask.java:292)
    at java.util.concurrent.FutureTask.run(FutureTask.java:237)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
    at java.lang.Thread.run(Thread.java:818)

希望有人能看到我没看到的东西!

编辑1:显然,该错误仅发生在我的真实设备上,而不是模拟器中。

1 个答案:

答案 0 :(得分:0)

您可能在模拟器和真实设备上获得了不同的语言环境 使用Locale.getDefault()

尝试使用

DateFormat format = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ROOT);