summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java8
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/util/DateUtils.java3
2 files changed, 11 insertions, 0 deletions
diff --git a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java b/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java
index 8adcc41c5..ee90d9116 100644
--- a/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java
+++ b/core/src/androidTest/java/de/danoeh/antennapod/core/tests/util/DateUtilsTest.java
@@ -130,4 +130,12 @@ public class DateUtilsTest extends AndroidTestCase {
Date actual = DateUtils.parse("Thu, 8 Oct 2014 09:00:00 GMT"); // actually a Wednesday
assertEquals(expected, actual);
}
+
+ public void testParseDateWithBadAbbreviation() {
+ GregorianCalendar exp1 = new GregorianCalendar(2014, 8, 8, 0, 0, 0);
+ exp1.setTimeZone(TimeZone.getTimeZone("GMT"));
+ Date expected = new Date(exp1.getTimeInMillis());
+ Date actual = DateUtils.parse("Mon, 8 Sept 2014 00:00:00 GMT"); // should be Sep
+ assertEquals(expected, actual);
+ }
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/util/DateUtils.java b/core/src/main/java/de/danoeh/antennapod/core/util/DateUtils.java
index f63f0983f..5056ea274 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/util/DateUtils.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/util/DateUtils.java
@@ -31,6 +31,9 @@ public class DateUtils {
date = date.replaceAll("CEST$", "+02:00");
date = date.replaceAll("CET$", "+01:00");
+ // some generators use "Sept" for September
+ date = date.replaceAll("\\bSept\\b", "Sep");
+
// if datetime is more precise than seconds, make sure the value is in ms
if (date.contains(".")) {
int start = date.indexOf('.');