Skip to content

Commit d0b1464

Browse files
committed
[YouTube/MediaCCC] Consider dates as GMT and not as local
1 parent 8ce711f commit d0b1464

4 files changed

Lines changed: 10 additions & 6 deletions

File tree

extractor/src/main/java/org/schabi/newpipe/extractor/services/media_ccc/extractors/MediaCCCParsingHelper.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,17 @@
66
import java.text.SimpleDateFormat;
77
import java.util.Calendar;
88
import java.util.Date;
9+
import java.util.TimeZone;
910

1011
public final class MediaCCCParsingHelper {
1112
private MediaCCCParsingHelper() { }
1213

1314
public static Calendar parseDateFrom(final String textualUploadDate) throws ParsingException {
1415
Date date;
1516
try {
16-
date = new SimpleDateFormat("yyyy-MM-dd").parse(textualUploadDate);
17+
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
18+
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
19+
date = sdf.parse(textualUploadDate);
1720
} catch (ParseException e) {
1821
throw new ParsingException("Could not parse date: \"" + textualUploadDate + "\"", e);
1922
}

extractor/src/main/java/org/schabi/newpipe/extractor/services/youtube/YoutubeParsingHelper.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,9 @@ public static String getFeedUrlFrom(final String channelIdOrUser) {
185185
public static Calendar parseDateFrom(String textualUploadDate) throws ParsingException {
186186
Date date;
187187
try {
188-
date = new SimpleDateFormat("yyyy-MM-dd").parse(textualUploadDate);
188+
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
189+
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
190+
date = sdf.parse(textualUploadDate);
189191
} catch (ParseException e) {
190192
throw new ParsingException("Could not parse date: \"" + textualUploadDate + "\"", e);
191193
}

extractor/src/test/java/org/schabi/newpipe/extractor/services/DefaultStreamExtractorTest.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -172,10 +172,9 @@ public void testUploadDate() throws Exception {
172172

173173
final Calendar expectedDate = Calendar.getInstance();
174174
final Calendar actualDate = dateWrapper.date();
175-
expectedDate.setTimeZone(TimeZone.getTimeZone("GMT"));
176-
actualDate.setTimeZone(TimeZone.getTimeZone("GMT"));
177175

178176
final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S");
177+
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
179178
expectedDate.setTime(sdf.parse(expectedUploadDate()));
180179
assertEquals(expectedDate, actualDate);
181180
}

extractor/src/test/java/org/schabi/newpipe/extractor/services/peertube/PeertubeStreamExtractorTest.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public void testGetLanguageInformation() throws ParsingException {
8080
@Override public long expectedLength() { return 113; }
8181
@Override public long expectedTimestamp() { return TIMESTAMP_MINUTE*60 + TIMESTAMP_SECOND; }
8282
@Override public long expectedViewCountAtLeast() { return 38600; }
83-
@Nullable @Override public String expectedUploadDate() { return "2018-10-01 12:52:46.396"; } // GMT (!)
83+
@Nullable @Override public String expectedUploadDate() { return "2018-10-01 10:52:46.396"; }
8484
@Nullable @Override public String expectedTextualUploadDate() { return "2018-10-01T10:52:46.396Z"; }
8585
@Override public long expectedLikeCountAtLeast() { return 120; }
8686
@Override public long expectedDislikeCountAtLeast() { return 0; }
@@ -137,7 +137,7 @@ public static void setUp() throws Exception {
137137
}
138138
@Override public long expectedLength() { return 512; }
139139
@Override public long expectedViewCountAtLeast() { return 7; }
140-
@Nullable @Override public String expectedUploadDate() { return "2019-10-22 08:16:48.982"; } // GMT (!)
140+
@Nullable @Override public String expectedUploadDate() { return "2019-10-22 06:16:48.982"; }
141141
@Nullable @Override public String expectedTextualUploadDate() { return "2019-10-22T06:16:48.982Z"; }
142142
@Override public long expectedLikeCountAtLeast() { return 3; }
143143
@Override public long expectedDislikeCountAtLeast() { return 0; }

0 commit comments

Comments
 (0)