[ https://issues.apache.org/jira/browse/GRIFFIN-206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16648789#comment-16648789 ]
ASF GitHub Bot commented on GRIFFIN-206: ---------------------------------------- Github user chemikadze commented on a diff in the pull request: https://github.com/apache/incubator-griffin/pull/435#discussion_r224952112 --- Diff: service/src/main/java/org/apache/griffin/core/util/TimeUtil.java --- @@ -148,4 +149,11 @@ private static String refreshEscapeHashTag(String str) { return str.replaceAll(escapeHashTagPattern, hashTag); } + public static TimeZone getTimeZone(String timezone) { + if (StringUtils.isEmpty(timezone)) { + return TimeZone.getDefault(); + } + return TimeZone.getTimeZone(timezone); + } + } --- End diff -- @ahutsunshine Well, it's about time, it's utility function, static makes it easier to test. Felt like it belongs here. > Wrong sign of time zone offset when created from UI > --------------------------------------------------- > > Key: GRIFFIN-206 > URL: https://issues.apache.org/jira/browse/GRIFFIN-206 > Project: Griffin (Incubating) > Issue Type: Bug > Reporter: Nikolay Sokolov > Assignee: Nikolay Sokolov > Priority: Major > > When job is created from UI, time zone offset is created by this piece of > code: > {code:none} > let time = new Date().getTimezoneOffset() / 60; > let timezone = "GMT" + time + ":00"; > {code} > Problem is, that for GMT-7 it yields positive number, resulting in calculated > timezone to be GMT+7. > Turns out that that some formats are not parsed properly, at least UTCXX:XX > format used by UI is not processed correctly, and GMTXX:XX (without signs): > {code:none} > scala> java.util.TimeZone.getTimeZone("GMT6") > res9: java.util.TimeZone = > sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] > scala> java.util.TimeZone.getTimeZone("GMT+6") > res10: java.util.TimeZone = > sun.util.calendar.ZoneInfo[id="GMT+06:00",offset=21600000,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] > scala> java.util.TimeZone.getTimeZone("UTC+6") > res11: java.util.TimeZone = > sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] > scala> java.util.TimeZone.getTimeZone("UTC-6(CST)") > res12: java.util.TimeZone = > sun.util.calendar.ZoneInfo[id="GMT",offset=0,dstSavings=0,useDaylight=false,transitions=0,lastRule=null] > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)