如何在jquery-ui datepicker中计算日期类型“dd-mm-yy”的周数?

时间:2016-02-01 16:11:09

标签: jquery-ui-datepicker

我在我的应用程序中使用了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());
});

here is a also a JSFiddle for it

2 个答案:

答案 0 :(得分:1)

使用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

答案 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);
  });