[ https://issues.apache.org/jira/browse/FLINK-19757?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17218728#comment-17218728 ]
Jark Wu commented on FLINK-19757: --------------------------------- Hi [~zhoujira86], the current implementation is correct. The conversion between {{LocalDateTime}} and {{TimestampData}} happens when the SQL type is {{TIMESTAMP}}. {{TIMESTAMP}} type is a value without time zone, which is the same semantic of {{LocalDateTime}}. We store such data in Flink using the epoch seconds since {{1970-01-01 00:00:00}}. Therefore, we shounldn't add time zone offsets to the method. Otherwise, the logic is wrong and tests will fail. > TimeStampData can cause time inconsistent problem > ------------------------------------------------- > > Key: FLINK-19757 > URL: https://issues.apache.org/jira/browse/FLINK-19757 > Project: Flink > Issue Type: Improvement > Components: Table SQL / Runtime > Affects Versions: 1.11.1 > Reporter: xiaogang zhou > Priority: Major > Labels: pull-request-available > > when we check jdk LocalDateTime code,we find that > > {code:java} > // code placeholder > public static LocalDateTime ofEpochSecond(long epochSecond, int nanoOfSecond, > ZoneOffset offset) { > Objects.requireNonNull(offset, "offset"); > NANO_OF_SECOND.checkValidValue(nanoOfSecond); > long localSecond = epochSecond + offset.getTotalSeconds(); // overflow > caught later > long localEpochDay = Math.floorDiv(localSecond, SECONDS_PER_DAY); > int secsOfDay = (int)Math.floorMod(localSecond, SECONDS_PER_DAY); > LocalDate date = LocalDate.ofEpochDay(localEpochDay); > LocalTime time = LocalTime.ofNanoOfDay(secsOfDay * NANOS_PER_SECOND + > nanoOfSecond); > return new LocalDateTime(date, time); > } > {code} > > offset.getTotalSeconds() they add the offset, but in the TimeStampData > toLocalDateTime, we don't add a offset. > > I'd like to add a TimeZone.getDefault().getRawOffset() in the > toLocalDateTime() > and minus a TimeZone.getDefault().getRawOffset() in the > fromLocalDateTime -- This message was sent by Atlassian Jira (v8.3.4#803005)