我有一个简单的日期时间选择器:
$('#deadline_picker').datetimepicker();
简单地说,我可以使用 var x= new Date(timestamp)
生成 utc/或本地日期字符串。或var x= (new Date(timestamp)).toUTCString()
。并将其作为值分配给字段 - $('#deadline_picker').val(x)
但是,日期时间选择器对象似乎无法响应编程更改(如果日历选择了某个日期,它仍然会显示所选的相同日期,并且它似乎不具有时区意识)。对我来说,能够以编程方式设置与纪元时间完全相同的时间非常重要。据说 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()
关于javascript - Bootstrap Datetimepicker 以编程方式从 Epoch 设置时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24761605/