簡體   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