[
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)