我使用的UI DatePicker从jQuery UI作为独立的选择器。我有这样的代码:
<div id="datepicker"></div>
和下面的JS:
$('#datepicker').datepicker();
当我尝试用下面的代码返回值时:
var date = $('#datepicker').datepicker('getDate');
我得到的答复是:
Tue Aug 25 2009 00:00:00 GMT+0100 (BST)
这是完全错误的格式。有没有办法让它以DD-MM-YYYY格式返回?
尽量使用
$( ".selector" ).datepicker({ dateFormat: 'dd/mm/yy' });
你可以在这里找到数据采集器
http://api.jqueryui.com/datepicker/
这是我们使用参数调用datepicker的方式
$(function() {
$('.selector').datepicker({
dateFormat: 'dd/mm/yy',
changeMonth: true,
numberOfMonths: 1,
buttonImage: 'contact/calendar/calendar.gif',
buttonImageOnly: true,
onSelect: function(selectedDate) {
// we can write code here
}
});
});
这里是一个开箱即用的未来证明日期片段。Firefox默认为jquery ui datepicker。否则使用HTML5 datepicker。如果FF支持HTML5 type="date",脚本将是多余的。不要忘记head标签中需要三个依赖项。
<script>
src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js">
</script>
<link rel="stylesheet"href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<!--Form element uses HTML 5 type="date"-->
<div class="form-group row">
<label for="date" class="col-sm-2 col-form-label"Date</label>
<div class="col-sm-10">
<input type="date" class="form-control" name="date" id="date" placeholder="date">
</div>
</div>
<!--if the user is using FireFox it
autoconverts type='date' into type='text'. If the type is text the
script below will assign the jquery ui datepicker with options-->
<script>
$(function()
{
var elem = document.createElement('input');
elem.setAttribute('type', 'date');
if ( elem.type === 'text' )
{
$('#date').datepicker();
$( "#date" ).datepicker( "option", "dateFormat", 'yy-mm-dd' );
}
});