私はyyTimezone以下のコードでどのように計算されるかを理解しようとしています:
| bare_time '+' tUNUMBER {
/* "7:14+0700" */
yyDSTmode = DSToff;
yyTimezone = - ($3 % 100 + ($3 / 100) * 60);
}
| bare_time '-' tUNUMBER {
/* "19:14:12-0530" */
yyDSTmode = DSToff;
yyTimezone = + ($3 % 100 + ($3 / 100) * 60);
}
私が理解しているのは、タイムスタンプが2011-01-02T10:15:20-04:00;であるとしましょう。これは、その0400時間が遅れていることを意味しUTCます。したがって、に変換するにUTCは、それに時間を追加0400すると、になり2011-01-02T14:15:20ます。私の理解は正しいですか?
上に貼り付けたコードブロックでそれはどのように達成されますか?