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)就可以得到真实的小时数,然后加上两个零,或者如果你可能要处理的不是全小时时区,(它们存在),你可能还需要得到模数(%)