Вход будет кодировать смещение как -0400
. Часть 0400
этого будет возвращена как токен tUNUMBER
(предположительно, содержащий значение без знака). Этот токен соответствует правилам грамматики и может использоваться как $3
.
Чтобы получить фактическое смещение в минутах от значения 400
, сначала нужно разделить его на две половины. Часть часов может быть получена с помощью $3 / 100
(т. Е. 4
), а часть минут - с $3 % 100
(т. Е. 0
). Поскольку в часе 60 минут, вы умножаете количество часов на 60 и добавляете к этому количество минут ($3 % 100 + ($3 / 100) * 60
), что дает значение 240
. Тогда все, что осталось, это добавить знак и сохранить его в yyTimezone
.
После всего этого yyTimezone
будет содержать смещение часового пояса в минутах.