I have this dilemma with JavaScript. I need to convert a list of dates from client’s local timezone to NYC (EST) timezone. I’m using the function below:
Date.prototype.toNycTime = function() {
var localTime = this.getTime();
var localOffset = this.getTimezoneOffset() * 60000;
var utc = localTime + localOffset;
this.setTime(utc - 3600000 * 5);
return this;
};
It works OK. One problem is that I need to adjust UTC offset every time there’s a daylight saving switch in USA. And that works OK for any date that is before the next switch (earliest coming is 13-MAR-2011). But it doesn’t work on dates after the switch. I don’t know of any build-in JS function in any of the browsers that will do the conversion for me.
Is there a good library out there that will allow me to do some universal conversions? Or can anyone offer any tips on the code above? I’m trying to avoid programming in the dates/times for the conversion and having to look up all the time.
http://www.datejs.com/