[ 
https://issues.apache.org/jira/browse/FLINK-16938?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17074397#comment-17074397
 ] 

YufeiLiu edited comment on FLINK-16938 at 4/3/20, 8:33 AM:
-----------------------------------------------------------

Hi [~jark], I think timestamp  doesn't have timezone, there are same timestamp 
in every timezone at same time,  which is millisecond offset in UTC, but format 
to LocalDateTime need timezone offset. 

{{LocalDateTime}} is entirely equals to date string, like 
'2020-04-03T16:00:00', we can't convert it to timestamp without timezone 
information, it wasn't "LOCAL". 




was (Author: liuyufei):
Hi [~jark], I think timestamp  doesn't have timezone, there are same timestamp 
in every timezone at same time,  which is millisecond offset in UTC, but format 
to LocalDateTime need timezone offset. 

{{LocalDateTime}} is entirely equals to date string, like 
'2020-04-03T16:00:00', we can't convert it to timestamp without timezone 
information. 



> SqlTimestamp has lag when convert long to Timestamp
> ---------------------------------------------------
>
>                 Key: FLINK-16938
>                 URL: https://issues.apache.org/jira/browse/FLINK-16938
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>    Affects Versions: 1.10.0
>            Reporter: YufeiLiu
>            Priority: Major
>
> When I set rowtime attribute by using expression 'column.rowtime' , and 
> result type is sql.Timestamp, the result will have lag which is equals with 
> default timezone offset.
> {code:java}
> tEnv.fromDataStream(stream, "user_action_time.rowtime, user_name, data");
> {code}
> I look into the conversion logic, the field was go through 'long -> 
> SqlTimestamp -> Timestamp' conversion. 
> {code:java}
> long from = System.currentTimeMillis();
> long to = SqlTimestamp
>                       .fromEpochMillis(from)
>                       .toTimestamp()
>                       .getTime();
> {code}
> The result is {{from!=to}}.  In {{SqlTimestamp.toTimestamp()}} using 
> {{Timestamp.valueOf(LocalDateTime dateTime)}} which is contain timezone 
> infomation, will casue time lag.
> From Timestamp to Timestamp not have this issue, but convert Datastream to 
> Table is use StreamRecord.timestamp as rowtime field.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to