使用jQuery datepicker计算时区

我使用jQuery datepicker,minDate为4,不包括周末和假日,并调整minDate以排除当天下午2点之后。 现在我需要以某种方式考虑时区,因为我希望这基于我的时区,PT,而不是用户的时区。 我知道我getTimeZoneOffset可能是一个可行的选择,但我正在努力将如何以及在何处将其添加到我当前的设置中。

 $(document).ready(function() { //holidays var natDays = [ [1, 1, 'New Year'], //2014 [1, 20, 'Martin Luther King'], //2014 [2, 17, 'Washingtons Birthday'], //2014 [5, 26, 'Memorial Day'], //2014 [7, 4, 'Independence Day'], //2014 [9, 1, 'Labour Day'], //2014 [10, 14, 'Columbus Day'], //2013 [11, 11, 'Veterans Day'], //2013 [11, 28, 'Thanks Giving Day'], //2013 [12, 25, 'Christmas'] //2013 ]; var dateMin = new Date(); dateMin.setDate(dateMin.getDate() + (dateMin.getHours() >= 14 ? 1 : 0)); AddBusinessDays(dateMin, 4); function AddBusinessDays(curdate, weekDaysToAdd) { while (weekDaysToAdd > 0) { curdate.setDate(curdate.getDate() + 1); //check if current day is business day if (noWeekendsOrHolidays(curdate)[0]) { weekDaysToAdd--; } } } function noWeekendsOrHolidays(date) { var noWeekend = $.datepicker.noWeekends(date); if (noWeekend[0]) { return nationalDays(date); } else { return noWeekend; } } function nationalDays(date) { for (i = 0; i < natDays.length; i++) { if (date.getMonth() == natDays[i][0] - 1 && date.getDate() == natDays[i][1]) { return [false, natDays[i][2] + '_day']; } } return [true, '']; } $('#datepicker').datepicker({ inline: true, beforeShowDay: noWeekendsOrHolidays, showOn: "both", firstDay: 0, dateformat: "dd/mm/yy", changeFirstDay: false, showButtonPanel: true, minDate: dateMin }); });  

#datepicker { height: 20px; } #datepicker {-webkit-border-radius: 0 3px 3px 0; -moz-border-radius: 0 3px 3px 0; border-radius: 0 3px 3px 0;}

试试这个:

 var localTime = new Date(); var ptTime = new Date(); ptTime.setMinutes(ptTime.getMinutes() + localTime.getTimezoneOffset() - 420); alert(localTime + ' ' + localTime.getTimezoneOffset() + ' ' + ptTime);