// 北京是getZoneTime(8),纽约是getZoneTime(-5),班加罗尔是getZoneTime(5.5). 偏移值是本时区相对于格林尼治所在时区的时区差值
    function getZoneTime(offset){
        // 取本地时间
        var localtime = new Date();  
        // 取本地毫秒数
        var localmesc = localtime.getTime(); 
        // 取本地时区与格林尼治所在时区的偏差毫秒数
        var localOffset = localtime.getTimezoneOffset() * 60000; 
        // 反推得到格林尼治时间
        var utc = localOffset + localmesc; 
        // 得到指定时区时间
        var calctime = utc + (3600000*offset);  
        var nd = new Date(calctime);  
        return nd.toDateString()+" "+nd.getHours()+":"+nd.getMinutes()+":"+nd.getSeconds(); 
    }


参考文章:

使用JavaScript获取不同时区的时间