控件是我定义的输入框。每当我单击控件时,它都会打开日期时间选择器并将我选择的任何日期附加到控件上,例如 11/30/2015(显示值)
Javascript
control.datetimepicker({
pickTime:false,
language: en
});
有没有办法像这样获取原始日期(如果我错了请纠正我):
Wed Feb 06 2013 00:00:00 GMT+0800 (Malay Peninsula Standard Time)
由于不同的语言会有不同的显示日期值,如果我能够获得原始日期来对我的服务器进行处理,那就太好了。
最佳答案
我在这里找到了答案: 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 .
关于javascript - 如何从 Bootstrap datetimepicker 获取原始日期数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28667681/