如何计算 jquery-ui 日期选择器中日期类型 "dd-mm-yy" 的周数?

how to calculate week number for date type "dd-mm-yy" in jquery-ui datepicker?

我在我的应用程序中使用了 jquery-ui 日期选择器。我想计算一个日期类型为 "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());
});

here is a also a JSFiddle for it

将此 link 添加到 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);
  });

使用 inst 得到 selectedYearselectedMonthselectedDay 并从这些值构造 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