# Timezones

The syntax of a time zone String is:

> ```
>  CustomID:
>          GMT Sign Hours : Minutes
>          GMT Sign Hours Minutes
>          GMT Sign Hours
>  Sign: one of
>          + -
>  Hours:
>          Digit
>          Digit Digit
>  Minutes:
>          Digit Digit
>  Digit: one of
>          0 1 2 3 4 5 6 7 8 9
>  
> ```

*Hours* must be between 0 to 23 and *Minutes* must be between 00 to 59. For example, "GMT+10" and "GMT+0010" mean ten hours and ten minutes ahead of GMT, respectively.

The format is locale independent and digits must be taken from the Basic Latin block of the Unicode standard. No daylight saving time transition schedule can be specified with a custom time zone ID. If the specified string doesn't match the syntax, `"GMT"` is used.

The specified custom time zone ID is normalized in the following syntax:

> ```
>  NormalizedCustomID:
>          GMT Sign TwoDigitHours : Minutes
>  Sign: one of
>          + -
>  TwoDigitHours:
>          Digit Digit
>  Minutes:
>          Digit Digit
>  Digit: one of
>          0 1 2 3 4 5 6 7 8 9
>  
> ```

For example: "GMT-08:00".

Most of the functions in utilities that takes a timezone, if no timezone is specified the workflow's default timezone will be used instead.

reference: <https://docs.oracle.com/javase/8/docs/api/java/util/TimeZone.html>
