Jquery 在zebra datepicker中,如何从所选日期获取或提取周数?
下面是我的尝试,但不起作用。第一行是初始化datepicker,然后可以设置一些选项,然后在onSelect部分中是如何尝试获取所选数据并将其转换为周数的,然后在测试中,我只是尝试提醒周数。一旦我开始工作,我会把周数放在某个地方使用Jquery 在zebra datepicker中,如何从所选日期获取或提取周数?,jquery,datepicker,Jquery,Datepicker,下面是我的尝试,但不起作用。第一行是初始化datepicker,然后可以设置一些选项,然后在onSelect部分中是如何尝试获取所选数据并将其转换为周数的,然后在测试中,我只是尝试提醒周数。一旦我开始工作,我会把周数放在某个地方使用 $("input#someid").Zebra_DatePicker({ format: 'm-d-Y', direction: 1, show_clear_date: 'FALSE', onSelect: function(view, elements) { //
$("input#someid").Zebra_DatePicker({
format: 'm-d-Y',
direction: 1,
show_clear_date: 'FALSE',
onSelect: function(view, elements) { //when a date is selected
Date.prototype.getWeek = function() {
var onejan = new Date(this.getFullYear(),0,1);
return Math.ceil((((this - onejan) / 86400000) + onejan.getDay()+1)/7);
}
var myvariable = $( "#someid" ).val();
var weekno = myvariable.getWeek();
alert(weekno);
}
});
日期的格式很重要。它需要能够从m-d-Y(01-13-2014)格式转换为周数。例如,今天的日期结果是3,因为它是一年中的第三周。我不确定Zebra_DatePicker是否给出了周数,但即使它没有直接给出周数,如果你有日期和月份,你也可以自己计算出来……例如这样
week = math.ceil((month * day)/7);
这将给你一年中的一周。另一方面,如果你甚至不能得到日期和月份,那么就通过拆分日期来得到它
var now = new Date(document.getElementById('element_id').value);//replace the element_id with actual input id of the zebra datepicker
//var now = new Date("02-01-2014");//hard coded date
var start = new Date(now.getFullYear(), 0, 0);
var diff = now - start;
var oneDay = 1000 * 60 * 60 * 24;
var day = Math.floor(diff / oneDay);
var week = Math.ceil(day/7);
alert(week);
干杯
另外,假设第三周从第15天开始,对吗?这里有一个jsfiddle链接,对你来说似乎是可行的,但是如果第三周从第12天开始,它会改变公式吗?当然会。一切都在你手里。我把每周7天的事情记在心里,以此来计算一周。我除以7。这取决于你,就像你可以根据自己的选择使用5或6甚至5.5来获得想要的结果…如果你有任何困惑,请告诉我…如果你用5.5替换7,它将给你12日的第3周和11日的第2周。如果你有任何其他困惑,请告诉我,以便我可以为你清除它们…干杯:)得到奇怪的结果。一月份似乎不错,但二月份的计算不正确。2月1日的第1周应该是第5周。2月3日是第2周,而不是第6周。2月10日是第4周,而不是第7周。事实上,回顾一月,直到第22天才是正确的。从1月23日开始计算错误的周数。