在moments.js中选择默认时区

car*_*arl 5 timezone momentjs

我用以下方式包括moments.js

<script src="../static/js/moment-timezone-full.js"></script>
<script>
    $('.select_timezone').timezones();
</script>
Run Code Online (Sandbox Code Playgroud)

然后我在html中为我的用户提供时区选择

<div class="row">
    <div class="col-lg-4">
        <select class="select_timezone" name="select_timezone"></select>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我的问题是如何选择默认时区?我看到一个人可以做到这一点

moment.tz.setDefault(String);
Run Code Online (Sandbox Code Playgroud)

但我不明白这在我的设置中会如何工作?

编辑:我的实现只是遵循这个例子......

http://www.jqueryscript.net/time-clock/Easy-Timezone-Picker-with-jQuery-Moment-js-Timezones.html

真的没人知道解决这个问题吗?卡尔

编辑:我应该澄清为什么moment.tz.setDefault不起作用.当我添加该行

moment.tz.setDefault('America/Los_Angeles');
Run Code Online (Sandbox Code Playgroud)

我收到了javascript错误

Uncaught TypeError: Cannot read property 'setDefault' of undefined
Run Code Online (Sandbox Code Playgroud)

我包括在烧瓶大型教程中解释的时刻,意思是我

from flask.ext.moment import Moment
...
moment = Moment()
...
moment.init_app(app)
Run Code Online (Sandbox Code Playgroud)

在我的html模板中我做

{% block scripts %}
{{ moment.include_moment() }}
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

moment-timezones包含在js文件中,如上所示.我忘了什么吗?我只是想设置选择的默认时区

irn*_*nmn 3

查看您发布的内容后,您似乎正在使用https://github.com/firstandthird/timezones中的 jquery 插件,当我查看代码时,它使用旧版本的 moment.js (版本2.8.3)如https://github.com/firstandthird/timezones/blob/master/dist/timezones.full.js所示

它还使用旧版本的 moment-timezone (它被拉入 timezones.full.js 文件的底部,版本 0.2.4),并且 moment.tz.setDefault() 直到更高版本才添加。目前最新的是 0.4.0。因此,我建议将您自己的文件与最新版本混合在一起,然后在您的系统上再次尝试,看看它是否有效。

更新:

所以,我看了你的小提琴,并在你的小提琴上更新了它,允许

moment.tz.setDefault("America/New_York");
$('.select_timezone').timezones();
Run Code Online (Sandbox Code Playgroud)

使用我自己混合的 moment.js、moment-timezone.js 和 jquery 插件代码,它工作得很好。基本上, moment-timezone-full.js 文件所做的就是将 moment.js 和 moment-timezone.js 与 jquery 插件代码混合在一起。(它被列为外部库之一,您也可以在https://gist.github.com/iron-man/deedd9efe988318d842a找到它。我确实注意到它只会选取列表中的第一个时区该偏移量,不是您指定的实际偏移量,但这是 moment-timezone.js 库的一个更大问题,超出了本问题的范围。