我在我的应用程序中使用了jquery-ui datepicker。我想计算一个星期数字为“dd-mm-yy”的星期数,但它给了我一个错误的周数我意识到它使用“mm-dd-yy”日期类型来计算周数。
我使用了以下代码:
<input type="text" class="calendar">
<input type="text" class="week">
$(function() {
$(".calendar").datepicker({dateFormat: "dd/mm/yy",
showWeek: true,
onSelect: function(dateText, inst) {
dateFormat: "'Week Number '" + $.datepicker.iso8601Week(new Date(dateText)),
$(".week").val('Week:' + $.datepicker.iso8601Week(new Date(dateText)));
}
});
$(".calendar").datepicker("setDate", new Date());
});
答案 0 :(得分:1)
使用inst
获取selectedYear
,selectedMonth
和selectedDay
,并从这些值而不是Date
构建dateText
。
以下是代码:
$(function() {
$(".calendar").datepicker({
dateFormat: "dd/mm/yy",
showWeek: true,
onSelect: function(dateText, inst) {
var newDate = new Date(inst.selectedYear, inst.selectedMonth, inst.selectedDay);
dateFormat: "'Week Number '" + $.datepicker.iso8601Week(newDate),
$(".week").val('Week:' + $.datepicker.iso8601Week(newDate));
}
});
$(".calendar").datepicker("setDate", new Date());
});
以下是更新后的JSFiddle。
答案 1 :(得分:0)
将此链接添加到JSFiddle资源
https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.1/moment.js
现在只运行此代码
$(document).ready(function(){
var weekday = moment("12-25-1995", "MM-DD-YYYY").week();
alert(weekday);
});