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

Javascript 使用时区缩写将一个时区中的日期转换为另一个时区,javascript,jquery,Javascript,Jquery,我正在开发一个web应用程序,用户可以在该应用程序中设置他/她的时区,该时区在应用程序中进一步用于各种日期-时间转换。所选时区可以不同于用户的区域设置时区 我目前遇到了一个问题,需要将用户选择的日期(该用户假定位于他/她在应用程序中选择的时区)与当前日期进行比较,以确定所选日期是否为将来的日期。参考我搜索过的所有地方,我发现我可以在用户区域设置或UTC时间中获取当前日期 所以我的问题的要点是——有没有办法用时区缩写将日期从一个时区转换成另一个时区 我在这里发布之前已经搜索了很多,但没有找到任何解

我正在开发一个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'));

谢谢你的回答。。。它适用于所有日间节能未激活的时区。请告诉我,如何让它在有夏令时的时区工作?是的。它不是内置的Jscript函数。这是一个经过计算的转换。如果您使用的是时区js,那么这就是代码:var dt=new timezoneJS.Date(“2012/04/10 10:10:30+0000”,“欧洲/伦敦”);dt.设定时区(“亚洲/雅加达”);控制台调试(dt)//亚洲的返回格式日期时间/jakartaYeah我知道这是一个经过计算的转换,但有没有办法确定夏令时在当前时间应该启用?不,我没有使用时区,它不适合我的需要。