使用时区缩写将一个时区中的日期转换为另一个时区

我正在开发一个Web应用程序,用户可以在应用程序中设置他/她的时区,该应用程序在应用程序中进一步用于各种日期时间转换。 选定的时区可以与用户的区域设置时区不同。

我目前遇到的问题是,我需要将用户选择的日期(用户假设在他/她在应用程序中选择的时区)与当前日期进行比较,以查看所选日期是否是将来的日期。 参考我搜索过的所有地方,我发现我可以在用户区域设置或UTC时间获取当前日期。

所以我的问题的要点是 – 有没有办法使用时区缩写将日期从一个时区转换为另一个时区?

我在发布之前已经搜索了很多,但无法得到任何解决方案。 我在搜索过程中发现的大多数地方都表明没有这样的解决方案。

我已经尝试过使用date.js,但它不够用,因为它已经过时了,而且它支持的时区缩写也是一个非常有限的集合。 我还看了一个timezoneJS,但我认为它不适用于时区缩写。

有没有什么方法可以使用javascript或jquery完成它?

干得好:

// calculate local time in a different city given the city's UTC offset function calcTime(city, offset) { // create Date object for current location var date = new Date(); // convert to msec // add local time zone offset // get UTC time in msec var utc = date.getTime() + (date.getTimezoneOffset() * 60000); // create new Date object for different city // using supplied offset var newDate = new Date(utc + (3600000 * offset)); // return time as a string return "The local time in " + city + " is " + newDate.toLocaleString(); } // get Bombay time console.log(calcTime('Bombay', '+5.5')); // get Singapore time console.log(calcTime('Singapore', '+8')); // get London time console.log(calcTime('London', '+1'));