【问题标题】:daterangepicker startDate not returning same value (or, how to set the initial time with daterangepicker?)daterangepicker startDate 不返回相同的值(或者,如何使用 daterangepicker 设置初始时间?)
【发布时间】:2020-05-05 03:51:31
【问题描述】:

我有一个只有时间的日期范围选择器,我想为其设置初始时间值。我发现this article 谈到了使用 startDate 来设置时间(未记录的功能)。但是当我设置时间,然后得到时间时,它已经关闭了 10 个小时。几乎可以肯定是时区问题,但我不知道如何修复或解决方法。

var dateNotUsed = '2020-01-01'; /* can be any valid date; not shown to user */
var startTime = '10:15 am';

$('#myTimePicker').daterangepicker({
        timePicker: true,
        singleDatePicker: true,
        startDate: '"' + dateNotUsed + " " + startTime + '"',
        timePickerIncrement: 1,
        locale: {
            format: 'hh:mm a'
        }
    }).on('show.daterangepicker', function (ev, picker) {
        picker.container.find(".calendar-table").hide();
});

var getTime = $('#myTimePicker').val();

此时 getTime == '08:15 pm',而不是我们尝试设置的 10:15am 值。控件向用户显示“08:15 pm”,而不是“10:15am”。

我可以让我的程序在启动时进行测试,以使用 daterangepicker 计算偏移量,然后在我想设置时间时使用该偏移量的负数。希望有一个更优雅的解决方案。

【问题讨论】:

    标签: daterangepicker


    【解决方案1】:

    如果您使用 moment() 设置 startDate,时区问题(如果是这样的话;可能只是格式错误的数据)会起作用:

    startDate: moment(startTime),

    startTime 的格式如下:

    var startTime = '03:25:00'; // 3:25am

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-18
      • 2017-06-28
      • 2021-12-17
      • 2018-09-02
      • 2017-04-23
      • 1970-01-01
      • 2021-03-21
      相关资源
      最近更新 更多