[英]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.