peterbraden/ical.js — pull request #24 by s2young (2013-08-07 22:16:20+00:00)
Title: Handling timezones regardless of server TZ setting.

I was running into parsing differences on different boxes and realized it was the TZ setting. The addTZ method in ical.js was only superficially setting the timezone. If you console.log the date object, the TZ will be both GMT and whatever TZ you set in addTZ. The timestamp (getTime function), which should always be UTC, was not changing.

I needed date parsing where I could take the floating time in the ICS file and tell the date object what timezone it needs to be in. The node-time module does this with its setTimezone method (passing in true in the second position).

With this change, I can parse the same ICS feed on any computer (with any TZ setting) and the date objects are identical. I hope this is helpful. Please let me know if you think I missed something.