在任何时间日期选择器中以编程方式设置时区偏移量

Set Timezone offset programatically in AnyTime datepicker

本文关键字:方式 编程 设置 时区 偏移量 任何 时间 日期 选择器      更新时间:2023-09-26

我一直在使用AnyTime datepicker: http://www.ama3.com/anytime/,我现在需要设置时区并使用javascript更新AnyTime datepicker。只是我似乎找不到这样做的选项,而且我不是一个真正的Javascript英雄。

我想我已经把它缩小到1919线上的askOffset: function( event )函数,但不能确切地弄清楚下一步该怎么做。我不知道缩写变量是什么意思,我一直在随机尝试,但还是不明白。

我这样做的原因是因为我在屏幕上的其他地方有选择下拉菜单(看起来更漂亮),我还希望能够从cookies中加载保存的时区。

我也发现了一些可能有用的文档:utcFormatOffsetImposedutcParseOffsetAssumed在任何时间页面。

选择器自动从输入字段中的值解析时区,因此如果您想设置特定的时区,只需用使用相同时区的值初始化输入字段。

utcFormatOffsetImposedutcParseOffetAssumed可以用来强制在AnyTime.Converter中进行特定的时区转换,所以如果你想使用转换器来初始化该字段,你可以这样做:

<input type="text" id="myField"/>
<script>
$(function(){
var myFormat = '%r %@';
var myConv = new AnyTime.Converter({format:myFormat});
myConv.utcFormatOffsetImposed( -330 );
$('#myField').
  AnyTime_picker({format:myFormat}).
  val( myConv.format(new Date()) );
});
</script>

当然,用您想要的任何格式字符串替换,只要它包含%#, %+, %-, %;, %;%@的时区信息。