[ https://issues.apache.org/jira/browse/GRIFFIN-206?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16646880#comment-16646880 ]
ASF GitHub Bot commented on GRIFFIN-206: ---------------------------------------- Github user gavlyukovskiy commented on a diff in the pull request: https://github.com/apache/incubator-griffin/pull/435#discussion_r224560857 --- Diff: service/src/test/java/org/apache/griffin/core/util/TimeUtilTest.java --- @@ -110,4 +111,36 @@ public void testFormatWithIllegalException() { TimeUtil.format(format, time, TimeZone.getTimeZone(timeZone)); } + @Test + public void testGetTimeZone() { + HashMap<String, String> tests = new HashMap<>(); + tests.put("", TimeZone.getDefault().getID()); + // standard cases + tests.put("GMT", "GMT"); + tests.put("GMT+1", "GMT+01:00"); + tests.put("GMT+1:00", "GMT+01:00"); + tests.put("GMT+01:00", "GMT+01:00"); + tests.put("GMT-1", "GMT-01:00"); + tests.put("GMT-1:00", "GMT-01:00"); + tests.put("GMT-01:00", "GMT-01:00"); + // values pushed by UI for jobs + tests.put("GMT1", "GMT"); + tests.put("GMT1:00", "GMT"); + tests.put("GMT01:00", "GMT"); + // values generated by UI for datasets in a past + tests.put("UTC1", "GMT"); + tests.put("UTC1:00", "GMT"); + tests.put("UTC01:00", "GMT"); + tests.put("UTC-1", "GMT"); + tests.put("UTC-1:00", "GMT"); + tests.put("UTC-01:00", "GMT"); + for (HashMap.Entry<String, String> e: tests.entrySet()) { --- End diff -- ``` tests.forEach((key, value) -> {...}) ``` Looks even better :) > 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)