2

控件是我定義的輸入字段。每當我點擊控制,它會打開的DateTimePicker和追加我選擇的任何日期到例如2015年11月30日(顯示值)的控制如何從引導程序獲取原始日期數據datetimepicker

的Javascript

control.datetimepicker({ 
    pickTime:false, 
    language: en 
}); 

是否有辦法,我能獲得原始日期(糾正我,如果我錯了)這樣的:

Wed Feb 06 2013 00:00:00 GMT+0800 (Malay Peninsula Standard Time) 

由於不同的語言會有不同的顯示日期值,這將是巨大的,如果我能獲得原始日期做加工到我的服務器。

回答

0

編輯 $(「selectorForDP」)。data()。DateTimePicker.date()._ d;

這正是你正在尋找的。

+0

請記住,這很可能只適用於英文格式的日期。 – Rouby 2015-02-23 06:59:32

+0

@rouby只要他不通過datetimepicker的選項顯式更改格式,它就會工作。 – suish 2015-02-23 07:08:08

+0

或多或少我說的..? – Rouby 2015-02-23 07:10:15

1

我已經找到了答案在這裏: Bootstrap 3 datetimepicker events not firing up

我使用的版本是:http://eonasdan.github.io/bootstrap-datetimepicker/

因此來獲得日期OBJ的東西,我可以用這個:

control.datetimepicker({ 
    pickTime: false, 
    language: en 
    }).on("dp.change", function(e) { 
    var date = e.date, 
    dDate = date._d, // e.g Wed Feb 06 2013 00:00:00 GMT+0800 (Malay Peninsula Standard Time 
    dateFormat = date._f; // e.g MM-DD-YYYY 
    // Append to attribute 
    control.attr('dateFormat', dateFormat); 
}); 

我可以然後用moment.js來這樣格式化:

value = $('#' + fieldDefinition.Name).val(); 
var dateFormat = $('#' + fieldDefinition.Name).attr('dateformat'); 
value = moment(value, dateFormat).format('YYYY-MM-DD'); 
// OR - Depending on what your server accept 
value = moment(value, dateFormat).format(); 

因此,我可以根據我的控件上的語言環境顯示不同的日期/日期時間格式/分隔符,並確保將它們格式化爲任何我想要的。在我的情況是XML date/datetime format

相關問題