我使用的自舉日期選擇器V1.5.1,如果你環顧四周線1741,其中它在今年的映射,你會發現這一點:
yyyy: function (d, v) {
return d.setUTCFullYear(v);
},
yy: function (d, v) {
return d.setUTCFullYear(2000 + v);
},
如果指定的控制使用四年的日期「yyyy」,它只會執行return d.setUTCFullYear(v);
,這會讓你獲得JavaScript給你的上個世紀。當你指定它使用兩年的日期「yy」時,它會做當前世紀所需的正確的2000+。
所以,如果你想正確的2年日期是2016年,2017年等等,你需要設置你的日期選擇器使用「YY」,像這樣:
$('#tbPurchaseDate').datepicker({
format: 'mm/dd/yy',
autoclose: true,
todayBtn: 'linked',
todayHighlight: true,
orientation: 'bottom auto'
});
或者你也可以改變「 yyyy「設置爲bootstrap-datepicker.js
以匹配」yy「版本,但是每次通過nuget更新datepicker js文件時都必須記住這一點。只需更改格式設置就容易多了。
當然,如果你想在控件中顯示完整的4位數的年份,那麼你可能想嘗試一個在這裏列出的精心修復或只是設置「yyy」到「yy」是在js文件。
或者只是將您的代碼更新到最新版本(1.6.4現在),「yyyy」和「yy」是相同的,並且您使用assumeNearbyYear: true
,如在此處的另一個答案中所述。
謝謝,我很害怕這個。我需要花一整天的時間才能真正理解javascript在做什麼,所以我認爲這不值得。我打算把它打開,看看是否有人知道,如果我沒有得到任何答案,幾天後再接受它。謝謝! –
我知道你可以排除過去的值,但日期選擇器仍然會進入上個世紀,即使你不能選擇任何東西。我要補充一點,如果我決定留在這個日期選擇器。 –
從哪裏下載日期選擇器?實際上有兩個版本:來自http://www.eyecon.ro/bootstrap-datepicker/的Stefan Petre的原始版本和http://bootstrap-datepicker.readthedocs.org/en/latest上的分叉和改進版本/。 – cantonic