Time Zone conversion woes

I have been trying to make sense of the functions NotesDateTime.ConvertToZone and NotesDateTime.Merge, as outlined here:http://www-01.ibm.com/support/docview.wss?uid=swg21219768

The problem is I don’t get it: the functions seem to be useless in the extreme, in that they assume knowledge not present of the time that a program is executed.

What I need is a textual representation of a time converted to a different zone. So an agent runs on a server in a different timezone and prints a date time in a log.

ConvertToZone NEEDS a DST attribute, but as far as I can see this means you have to write a function yourself to determine whether DST is in effect for the zone you want to convert TO (something that is usually not known beforehand if you run it in a piece of code).

(From the Help File:

Boolean. Indicates whether daylight-saving time is in effect (True) or not (False) in the new time zone.

)

Merge converts EVERYTHING so even though that does take into account DST rules, the resulting time string is the local time with a new timezone attribute.

Additionally the .ZoneTime propery uses the international format of the server it is run on, so coming from Europe the format suddenly changes to the US format thus from:

06-10-2010 15:26:25 CEDT

To

10/06/2010 06:21:34 AM CEDT

So:

WHY oh WHY does convertToZone not accept the string you can use with merge, and figure out the DST for you? (Or do I misunderstand the documentation?)