繁体   English   中英

Bootstrap Datetimepicker 从 Epoch 以编程方式设置时间

[英]Bootstrap Datetimepicker set Time programmatically from Epoch

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

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

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

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

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

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

我发现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()

你能试试这个吗?

    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);

来源

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM