I'm developing a program that will perform tasks on behalf of clients in various (US) time zones. It receives a UTC date-time from the client, along with an offset from UTC and a flag as to whether the client's area observes DST. The program needs to convert the time into both its own local time and the client's local time. I have not been able to come up with a reasonable way to do either in the date-time library.

The only way I can find in the library to convert UTC to local time requires me to know the time zone at compile time. For the client I have the offset from UTC and its local DST observance policy. (I can stipulate at this point that the client uses US DST rules.) For the program itself, I have only what I can query from the computer on which it runs.

Am I missing something obvious?