Wow, that's a difficult question. Which programming language? Which context? The number of libraries is huge...
To start off, imho, JS handles the problem quite well. And it should, it's the browser implementation, after all. The only thing you have to do is provide a time-string to the Date constructor and it will output it in the local timezone or UTC. From UTC, you can easily calculate any other timezone by adding hours to the Date object. There are a few libraries, like Moment, which provide nice functionality on top of that, but they are not necessary for just using Date/Time.
In C++, I like the Boost Date_Time library. It provides a lot of simple and useful functions, which make handling time and timezones a breeze.
Other than those two, I do not have any experience with Date/Time. I guess, though, that most languages which provide Date/Time in their standard library provide correct functionality for the mentioned problems. Everything else should be seen as a bug, which has to be fixed.