2016-07-19 142 views
1

的日期選擇器的代碼如下:如何在引導日期選擇器中更改日期格式?

$("#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月

在日期選擇器(前端)框

,而2016年1月1日在後端。我怎樣才能做到這一點?請幫幫我。

+0

先告訴我,我是使用JavaScript無處不在的語言使用在後端 –

+0

。實際上,我正在獲取日期值來過濾D3js中的數據。 @taposghosh –

+0

使用此庫將您的日期轉換爲任何格式http://momentjs.com/ –

回答

1

可以使用format選項指定M yyyy,而不是簡單地dd-MM-yyyy更改日期選擇器(前端)格式。

然後,您可以使用moment將Date發送到服務器之前,使用您需要的格式將Date轉換爲字符串。這裏有一個使用moment parsing函數和時刻format方法將日期從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>

+0

謝謝你的詳細解答。 @VincenzoC –

1

如果你想轉換你的日期格式任何格式使用這個庫。

http://momentjs.com/

+0

我已經在使用js。主要問題是我的前端日期格式。 –

相關問題