diff --git a/extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampExtractorHelper.java b/extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampExtractorHelper.java index 6508de10d..1d76c4612 100644 --- a/extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampExtractorHelper.java +++ b/extractor/src/main/java/org/schabi/newpipe/extractor/services/bandcamp/extractors/BandcampExtractorHelper.java @@ -15,9 +15,12 @@ import org.schabi.newpipe.extractor.localization.DateWrapper; import org.schabi.newpipe.extractor.utils.Utils; import java.io.IOException; -import java.text.ParseException; -import java.text.SimpleDateFormat; -import java.util.*; +import java.time.DateTimeException; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Locale; public class BandcampExtractorHelper { @@ -147,12 +150,12 @@ public class BandcampExtractorHelper { static DateWrapper parseDate(final String textDate) throws ParsingException { try { - final Date date = new SimpleDateFormat("dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH).parse(textDate); - final Calendar calendar = Calendar.getInstance(); - calendar.setTime(date); - return new DateWrapper(calendar, false); - } catch (final ParseException e) { - throw new ParsingException("Could not extract date", e); + final ZonedDateTime zonedDateTime = ZonedDateTime.parse( + textDate, DateTimeFormatter.ofPattern("dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH)); + return new DateWrapper(zonedDateTime.toOffsetDateTime(), false); + } catch (final DateTimeException e) { + throw new ParsingException("Could not parse date '" + textDate + "'", e); } + } } diff --git a/extractor/src/test/java/org/schabi/newpipe/extractor/services/bandcamp/BandcampRadioStreamExtractorTest.java b/extractor/src/test/java/org/schabi/newpipe/extractor/services/bandcamp/BandcampRadioStreamExtractorTest.java index c216f9f23..e024fefa7 100644 --- a/extractor/src/test/java/org/schabi/newpipe/extractor/services/bandcamp/BandcampRadioStreamExtractorTest.java +++ b/extractor/src/test/java/org/schabi/newpipe/extractor/services/bandcamp/BandcampRadioStreamExtractorTest.java @@ -14,7 +14,10 @@ import org.schabi.newpipe.extractor.stream.StreamExtractor; import org.schabi.newpipe.extractor.stream.StreamType; import java.io.IOException; -import java.util.*; +import java.util.Calendar; +import java.util.Collections; +import java.util.List; +import java.util.TimeZone; import static org.junit.Assert.*; import static org.schabi.newpipe.extractor.ServiceList.Bandcamp;