Jquery Can';t在计时器选择器中自动设置时区

Jquery Can';t在计时器选择器中自动设置时区,jquery,datetime,timepicker,Jquery,Datetime,Timepicker,使用“我想设置时区”: $('#timeStart').timepicker({ showTimezone: true, timeFormat: "hh:mm TT", timezoneList: [ { 'value': '-720', 'label': '(GMT-12:00) International Date Line West'

使用“我想设置时区”:

$('#timeStart').timepicker({
                showTimezone: true,
                timeFormat: "hh:mm TT",
                timezoneList: 
              [
                { 'value': '-720', 'label': '(GMT-12:00) International Date Line West' },
                { 'value': '-660', 'label': '(GMT-11:00) Midway Island, Samoa' }
                   ....
                { 'value': '+840', 'label': '(GMT+14:00) Time in Samoa' }
              ]
        });
timepiker已初始化,区域已添加到选择器中,但未检测到所选值是列表中的第一个值 如果我手动设置选项时区:“+840”,它会工作


为什么时区不能自动检测?

我不熟悉这个时间选择器,但如果您可以使用

new Date().getTimezoneOffset();

你也许可以解决这个问题

diff = new Date().getTimezoneOffset();

timediff = diff/-60;


currentTimezone = (timediff > 0)? "+" : "-";
currentTimezone = (Math.abs(timediff) >= 9)? currentTimezone + Math.abs(timediff): currentTimezone +"0"+ Math.abs(timediff);
currentTimezone += "00";
console.log(currentTimezone)

我找到了解决办法,而不是

{ 'value': '-720', 'label': '(GMT-12:00) International Date Line West' }
是否需要使用

{ value: -720, label: '(GMT-12:00) International Date Line West' }

“您可能可以解决它”看起来不像答案,它属于注释。@IvanJovovic我正在用一些代码更新我的答案,这些代码可能会起作用。只是想尽快开始提供一些信息。对于时区“+0300”新日期().getTimezoneOffset();返回-180是的,180分钟,你只需要除以-60(减去60)就可以得到真实的小时数,然后加上两个零,或者如果你可能要处理的不是全小时时区,(它们存在),你可能还需要得到模数(%)