2017-08-17 67 views
4

我有一个字段,并使用jQuery在其上应用datepicker。如何使用jquery在datepicker中设置特定的时区?

它目前正在从系统/浏览器获取时间。

我希望它从特定时区(如America/new_york)获得时间。

endDate参数是设置日历的关键,意味着用户不应该能够从将来选择date。目前,它看起来像这样

enter image description here

的代码片段是:

jQuery('#convo_start_date').datepicker({ 
    format: 'dd M yyyy', 
    endDate: '+0d', 
    autoclose: true, 
    showButtonPanel: true, 
    todayBtn: 'linked' 
    }).on('change', function() { 
     jQuery('.datepicker').hide(); 
     jQuery('#convo_end_date').attr('value',jQuery('#convo_start_date').val()); 
    }); 

问:有什么办法来设置默认的具体时区如美国/纽约至不允许来自未来的日期(根据这个特定的时区)?

注:我试过moment.js但我目前在jQuery的工作相冲突,是否有日期选择器库providesvto与时区设置的任何PARAMS?

+0

https://stackoverflow.com/q/19031218/1267304 – DontVoteMeDown

+0

我的建议是让moment.js图书馆工作。您最终需要从某处获取时区数据。 – alalp

+0

@alalp在使用moment.js时,它给了我错误'TypeError:dbg is undefined' –

回答

0

您可以使用Joda-Time库来获得您的解决方案。

检查它们提供的类别org.joda.time.DateTimeZone

根据Joda Time中定义的规范ID,您可以获得DateTimeZone

请检查此link获取API文档。

希望这对你有帮助。谢谢。

0

如果您使用的是jquery ui datepicker插件,您可以将maxDate选项设置为当前日期,以便用户不能从将来选择日期。

您将需要转换到特定的时区。您可以根据您的要求更改targetTimeOffset变量。

var d = new Date(); 
var targetTimeOffset = -4*60; //desired time zone, taken as GMT-4 
d.setMinutes(d.getMinutes() + d.getTimezoneOffset() + targetTimeOffset); 

检查小提琴:http://jsfiddle.net/mpsingh2003/8w8v9/3387/如果这是你在找什么

相关问题