xiaogang zhou created FLINK-19757:
-------------------------------------
Summary: 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
when we check jdk LocalDateTime code,we find that
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);
}
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)