使用moment.js设置hh:mm选取器的时区

时间:2016-10-03 13:16:11

标签: javascript jquery date timezone momentjs

我正在尝试配置一小时:分钟时间选择器。我正在使用令人敬畏的MTR Datepicker from Gihub,但我无法更改时区。

我需要的是用户从下拉列表中选择他的时区,例如'欧洲/伦敦&#39 ;.然后脚本抓取时区的偏移值(+ 60分钟或3600秒)。

使用该时区偏移我希望以15m为增量显示可选分钟,以供将来使用。

因此,如果用户时间是01:14 pm,我想要时间01:15<可选择。

问题

如果我在浏览器中打开脚本,默认情况下,MTR Datepicker库默认设置为我的本地时间(+02:00 GMT)。

因此,如果格林尼治标准时间是凌晨12点,而我的当地时间是下午2点,那么我的时间是从02​​:15开始。直到11:45。

但是我想能够选择一个新的时区,比如欧洲/伦敦(格林威治标准时间+01:00),并且从01:15开始显示......你得到了我的要点。

我不知道如何改写这种行为。

这是图书馆(1856行):MTR Datepicker.js Gitub

其中有东西检测到我的计算机本地时区,我想用用户选择的时区覆盖它。

以下是我页面上的配置代码...正如您所看到的,我将unix时间戳(valueOf())传递到时间戳配置选项,但是库正在检测并默认使用我的本地时间。

<script>
    var m = moment().utcOffset(); // new time now
    var config = {
        target: 'timePicker',
        timestamp: m.valueOf(),
        future: true,
        minutes: {
            min: 0,
            max: 45,
            step: 15,
        },
    };
    var myDatepicker = new MtrDatepicker(config);

    $( document ).ready(function() {
        $("#resultTime").html(myDatepicker.format('H:mm A'));
    });

    myDatepicker.onChange('time', function() {
        $("#resultTime").html(myDatepicker.format('H:mm A'));
    });
</script>

如何根据时区偏移而不是用户本地时间更改显示的小时和分钟?

1 个答案:

答案 0 :(得分:0)

时区支持已得到实现,最近我们推出了一些错误修复和改进功能。 有关如何使用它们以及如何将插件与您的设置集成的更多信息,您可以依靠docs