自定义Jquery UI Datepicker

isJ*_*tMe 6 html javascript jquery jquery-ui

我很可能怀疑是不可能的,但我想知道如果有人在定制Jquery UI datepicker上显示的日历以改变日期的延伸.以下是我的情况:我的公司使用的是会计年度,而不是历年,并且每年的不同日期开始,我实际上在同一时间制作了一个Excel日历,我可以在javascript上使用原则,我的问题是如果有一种方法可以在日历上设置一个初始日期,并从那天开始计算周数...

财政年度从8月28日(星期日)开始,假设:AUG28-SEPT3 = FW1
SEPT4-SEPT10 = FW2
SEPT11-SEPT17 = FW3
.
.
.
等等...我想显示一个日历,其周数从2011年8月28日(fw1)开始,到2012年8月25日结束(fw52).

我已经阅读了文档,我无法找到任何相关内容,如果我不够清楚,请告诉我,以便我可以改写.

Sco*_*ler 5

您将不得不创建自己的周计算,请参阅jQuery UI calculateWeek的文档.这是一个开始,但在这些文档中并没有太大帮助.这篇博文更有用.

无论如何这里是我设法破解的代码,请参阅下面的链接,看看它是否正常工作.

  • 定义数据贴纸:

    $("#mydatepicker").datepicker({
        calculateWeek: fisc,
        maxDate: '08/25/12',
        minDate: '08/28/11',
        showWeek: true
    });
    
    Run Code Online (Sandbox Code Playgroud)

  • 以及计算周数的功能:

    function fisc(date) {
        var checkDate = new Date(date.getTime());
        checkDate.setDate(checkDate.getDate() + 4 - (checkDate.getDay() || 7));
        var time = checkDate.getTime();
        checkDate.setMonth(7); 
        checkDate.setDate(28);
        var week = (Math.floor(Math.round((time - checkDate) / 86400000) / 7) + 2);
        if (week < 1) {
            week = 52 + week;
        }
        return 'FW: '+week;
    }
    
    Run Code Online (Sandbox Code Playgroud)

    点击此处查看此操作

    我敢肯定这可能不是完美的方式,但它似乎适用于这个夜晚,希望它会指向你正确的方向.