Cap*_*ack 10 javascript formatting datetime datepicker twitter-bootstrap
我想使用Twitter Bootstrap的datepicker.我希望以mm/dd/yyyy格式输入到DISPLAY,但是我希望它创建/传递的对象的值应该是yyyy-mm-dd.我知道这个属性:
"data-date-format" => "mm-dd-yyyy"
Run Code Online (Sandbox Code Playgroud)
但这会改变日期显示的方式以及值的格式.我的JS中也有这个:
$(this).datepicker({
format: 'yyyy-mm-dd',
autoclose: true,
todayHighlight: true,
pickTime: false
});
Run Code Online (Sandbox Code Playgroud)
我不确定格式部分正在做什么,但更改它不会更改输入创建的值.
当我遇到这样的问题时,我希望数据以不同于我希望传达的方式显示,我通常会编写一个简短的脚本将值复制到一个隐藏元素中,在那里我维护用户不知道的“正确”格式的数据看。
这是我目前可以提供的最佳解决方案,因为我不知道有什么方法可以说服 Bootstrap Datepicker 同时使用两种格式。
bootstrap 有一个解决方案来解决这个问题。
正如文档中所说
您可以将 format 设置为具有 2 个解析函数的对象:toValue 和 toDisplay。
$('.datepicker').datepicker({
format: {
/*
* Say our UI should display a week ahead,
* but textbox should store the actual date.
* This is useful if we need UI to select local dates,
* but store in UTC
*/
toDisplay: function (date, format, language) {
var d = new Date(date);
d.setDate(d.getDate() - 7);
return d.toISOString();
},
toValue: function (date, format, language) {
var d = new Date(date);
d.setDate(d.getDate() + 7);
return new Date(d);
}
},
autoclose: true
});
Run Code Online (Sandbox Code Playgroud)