Hi Vincent,
There's a number of things to say here. First, GetCurrentTimezoneOffset just returns the JavaScript timezone offset, which is counterintuitive, as it is calculated by subtracting the local time from the UTC time. Since we are ahead of UTC, the result is negative. This is described here.
Secondly, there's an obvious bug in the ConvertDateTimeByTimezoneOffset code. The code first converts the date time to UTC, then adds the number of minutes to the UTC date time as returned by GetCurrentTimezoneOffset. As your example shows, this yields the wrong results.
I'll see if I can upload a new version shortly.