datepicker的代码如下:
$("#startDate").datepicker({
autoclose:true,
startView:"months",
minViewMode:"months",
orientation: "bottom",
format: "dd-MM-yyyy"
}).on('changeDate', function(selected){
startDate = new Date(selected.date.valueOf());
startDate.setDate(startDate.getDate(new Date(selected.date.valueOf())));
$('.to').datepicker('setStartDate', startDate);
});
$("#endDate").datepicker({
autoclose:true,
startView:"months",
minViewMode:"months",
orientation: "bottom",
format: "dd-MM-yyyy"
}).on('changeDate', function(selected){
FromEndDate = new Date(selected.date.valueOf());
FromEndDate.setDate(FromEndDate.getDate(new Date(selected.date.valueOf())));
$('.from').datepicker('setEndDate', FromEndDate);
});
我在前端获得的格式是:
01-一月-2016
现在我需要格式为:
2016年1月
在datepicker(前端)框中,而 01-01-2016 在后端。我怎样才能做到这一点?请帮帮我们。
答案 0 :(得分:1)
如果您想转换日期格式,任何格式都使用此库。
答案 1 :(得分:1)
您只需使用指定M yyyy
而不是dd-MM-yyyy
的{{3}}选项更改日期选择器(前端)格式。
然后,您可以使用format
将日期转换为字符串,使用您在发送到服务器之前所需的格式。这里有一个示例,使用moment函数和时刻moment parsing方法将datepicker中的日期转换为DD-MMMM-YYYY
格式的字符串。
$("#startDate").datepicker({
autoclose:true,
startView:"months",
minViewMode:"months",
orientation: "bottom",
format: "M yyyy"
}).on('changeDate', function(selected){
startDate = new Date(selected.date.valueOf());
startDate.setDate(startDate.getDate(new Date(selected.date.valueOf())));
$('.to').datepicker('setStartDate', startDate);
});
$("#endDate").datepicker({
autoclose:true,
startView:"months",
minViewMode:"months",
orientation: "bottom",
format: "M yyyy"
}).on('changeDate', function(selected){
FromEndDate = new Date(selected.date.valueOf());
FromEndDate.setDate(FromEndDate.getDate(new Date(selected.date.valueOf())));
$('.from').datepicker('setEndDate', FromEndDate);
});
$('#btnSend').click(function(){
// Getting date from the picker
var startDate = $("#startDate").datepicker('getDate');
var endDate = $("#endDate").datepicker('getDate');
// Convert date to string in the given format
var startDateServer = moment(startDate).format('DD-MMMM-YYYY');
var endDateServer = moment(endDate).format('DD-MMMM-YYYY');
// You can send startDateServer and endDateServer string to the server
console.log(startDateServer, endDateServer);
});
<link href="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet"/>
<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.1/css/bootstrap-datepicker3.css" rel="stylesheet"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.2/js/bootstrap.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-datepicker/1.6.1/js/bootstrap-datepicker.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<input type="text" id="startDate" />
<input type="text" id="endDate" />
<button id="btnSend" class="btn btn-primary">Send</button>