Skip to content

Commit 58d7c86

Browse files
committed
Add option to disable daylight savings time.
1 parent 5290935 commit 58d7c86

File tree

3 files changed

+12
-3
lines changed

3 files changed

+12
-3
lines changed

innodb-java-reader/src/main/java/com/alibaba/innodb/java/reader/config/ReaderSystemProperty.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,8 @@ public final class ReaderSystemProperty<T> {
107107
stringProperty("innodb.java.reader.server.timezone", "");
108108

109109
/**
110-
* Whether to ignore daylight savings time when converting TIMESTAMP type.
110+
* If server timezone is not set, this indicates whether to ignore
111+
* daylight savings time when converting TIMESTAMP type.
111112
*/
112113
public static final ReaderSystemProperty<Boolean> DISABLE_DAYLIGHT_SAVINGS_TIME =
113114
booleanProperty("innodb.java.reader.disable.daylight.savings.time",

innodb-java-reader/src/test/java/com/alibaba/innodb/java/reader/AbstractTest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import java.util.Iterator;
2929
import java.util.List;
3030
import java.util.Properties;
31+
import java.util.TimeZone;
3132
import java.util.function.Consumer;
3233
import java.util.function.Function;
3334

@@ -342,7 +343,13 @@ private static Properties loadProperties() {
342343
}
343344

344345
protected static String expectedLocalTime(String dateTime) {
345-
ZoneRules rules = ZoneId.systemDefault().getRules();
346+
String zoneId;
347+
if (StringUtils.isNotEmpty(ReaderSystemProperty.SERVER_TIME_ZONE.value())) {
348+
zoneId = TimeZone.getTimeZone(ReaderSystemProperty.SERVER_TIME_ZONE.value().trim()).getID();
349+
} else {
350+
zoneId = ZoneId.systemDefault().getId();
351+
}
352+
ZoneRules rules = ZoneId.of(zoneId).getRules();
346353
LocalDateTime ldt = Utils.parseDateTimeText(dateTime);
347354
Instant instant = ldt.toInstant(ZoneOffset.of("+00:00"));
348355
ZoneOffset zoneOffset;

innodb-java-reader/src/test/resources/innodb-java-reader.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,5 @@
22
innodb.java.reader.enable.file.length.check=true
33
innodb.java.reader.enable.throw.exception.for.unsupported.mysql80.lob=false
44
innodb.java.reader.enable.page.checksum.check=true
5-
#innodb.java.reader.server.timezone=GMT-07:00
5+
#innodb.java.reader.server.timezone=GMT-07:00
6+
#innodb.java.reader.disable.daylight.savings.time=false

0 commit comments

Comments
 (0)