我试图了解如何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
. 我的理解正确吗?
我在上面粘贴的代码块中是如何实现的?