【问题标题】:Bootstrap Datetimepicker set Time programmatically from EpochBootstrap Datetimepicker 从 Epoch 以编程方式设置时间
【发布时间】:2014-09-05 20:23:13
【问题描述】:

我有一个简单的日期时间选择器:

$('#deadline_picker').datetimepicker();

我可以用var x= new Date(timestamp)var x= (new Date(timestamp)).toUTCString() 生成UTC / 或本地日期字符串。并将其作为值分配给该字段 - $('#deadline_picker').val(x)

但是一方面,Datetime Picker 对象似乎对编程更改没有响应(如果日历选择了某个日期,它仍然会显示选择的相同日期,并且似乎没有时区意识)。能够以编程方式设置与 Epoch 时间完全相同的时间对我来说非常重要。据说 datetimepicker 有 API 方法,但文档没有一个例子。

编辑:我正在使用引用为当前维护的副本: https://github.com/Eonasdan/bootstrap-datetimepicker

Edit2:显然它有不同的方法:http://www.malot.fr/bootstrap-datetimepicker/ 但他们似乎都没有时区支持。

【问题讨论】:

    标签: javascript jquery twitter-bootstrap datetime


    【解决方案1】:

    我发现https://github.com/smalot/bootstrap-datetimepicker 常用的一个不会将 (new Date).toUTCString() 作为参数并且没有帮助。 我在我的问题中提到的那个:https://github.com/Eonasdan/bootstrap-datetimepicker - 似乎也没有采用 (new Date()) 任何一种字符串,但它会同时采用 moment() 和 moment.utc() 对象,所以在我的情况下工作。 (截止日期在表格行中,在视觉上表示为没有秒、年或毫秒的时间字符串,以保留数据表空间)。

    $td = $(this).closest('tr').children('td');
    var timestamp = moment.utc($td.eq(2).attr('value')*1000);
    $('#deadline_picker').data("DateTimePicker").setDate(deadline); 
    

    这可以通过以下方式反转:

    $('#deadline_picker').data("DateTimePicker").getDate().unix()
    

    【讨论】:

    • setDate 在我使用的版本中不存在,必须改用date 方法。
    【解决方案2】:

    你可以试试这个吗?

        var x= (new Date(timestamp)).toUTCString();
        $('#deadline_picker').datetimepicker("update", x);
    

    如果这不起作用,试试这个:

        $('#deadline_picker').data({date: x});
        $('#deadline_picker').datetimepicker('update');
        $('#deadline_picker').datetimepicker().children('input').val(x);
    

    SOURCE

    【讨论】:

    • 这就是我所尝试的——也许我用错了?好像有 3 个叉子。
    • 我已经用更多的可能性更新了我的答案。你会注意到我已经引用了一个类似问题的链接。在那个线程上有更多的选择。我相信您使用的日期时间选择器是基于那个的。
    • 好像还有其他方法。我终于找到了文档:eonasdan.github.io/bootstrap-datetimepicker 问题似乎是这个和你提到的另一个都没有保留 TZ 信息。因此,例如,您的其余内容可以显示 UTC 或本地时间,但 DatetimePicker 必须稍后粗化 -
    猜你喜欢
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 2014-08-26
    • 2013-08-03
    • 1970-01-01
    • 2013-07-30
    • 2023-03-17
    相关资源
    最近更新 更多