Hi, First of all, kudos for writing an iCalendar parser/generator with a very intuitive API, unlike all the Python-based ones I''ve tried! I''m looking forward to using this. I''m trying to write a simple script to programmatically merge two calendars. I have this all working, but when I serialize the result back out, all the times are messed up. This is what the input DTSTART looks like for one of my events: DTSTART:20070314T180000Z and here''s how to_ical serializes the same event: DTSTART:20070314T180000 When I load the resulting calendar file into Mozilla''s Lightning calendar extension, the time of the event is incorrect, because Lightning interprets that as a local time when actually it''s in GMT. I looked at the code in conversions.rb, and there is a "utc" parameter that can be passed to the Date.to_ical method, but it doesn''t allow me to pass that parameter in when I''m serializing a calendar. So it seems like the short fix is to provide a way to pass the "utc" parameter all the way down through the components as they get recursively serialized. However it seems that there''s a more fundamental flaw in the design. When a time string is parsed by the system, the system should determine what timezone it''s in, and be able to output the same logical time in any timezone (whether that be GMT, which is what the "Z" means, or the user''s local timezone, or anything else). The current code seems to just drop all timezone information and assume that the event is in the same timezone as the user. I''d also recommend using strftime instead of all the string manipulations you currently have in conversions.rb. I''m going to temporarily hack around the problem by always setting :utc => true, but I don''t think that''s going to work in all cases. Any other ideas? Thanks, --Tessa