如何获得全年每个月的财务,第一个和最后一个日期
How to get financial, 1st and last date of each month of whole year
Financial Year
我想通过使用 Jquery 获取财政年度,检查示例,因为我有 12 个字段,每个字段都有一个月份名称,并且在同一行中它还显示月份的第一个日期和最后一个日期, 一些我是如何达到这一点但无法得到这样的结果的。
var theMonths = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
for (i = 0; i < 12; i++) {
var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(theMonths[i]), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
var months = '<li class="' + theMonths[i] + '">' + theMonths[i] + ' - - - - - - ' + firstDay + '---------' + lastDay + '</li>';
$('.calenderYear .month').append(months);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="calenderYear">
<ul class="month"></ul>
<span class="dates"></span>
</div>
问题是因为您将数组中的文本值提供给 Date
对象构造函数的 month
参数。该值应该是一个整数。
因此你的数组是多余的,你可以分别传递i
和i + 1
。
另请注意,您的输出从财政年度的 7 月开始。为此,您可以向迭代变量添加一个偏移量,并使用取模运算符确保它循环到下一年的开始月份。
最后,lastDay
技术上应该是 23:59:59
,而不是 00:00:00
,否则将近 24 小时的时间不包括在内。
试试这个:
var theMonths = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var offset = 6;
for (i = 0; i < 12; i++) {
var date = new Date();
var monthIndex = i + offset;
var firstDay = new Date(date.getFullYear(), monthIndex % theMonths.length, 1);
var lastDay = new Date(date.getFullYear(), monthIndex + 1 % theMonths.length, 0, 23, 59, 59);
var months = '<li class="' + theMonths[i] + '"><p>' + theMonths[monthIndex % theMonths.length] + '</p><p>' + firstDay + '</p><p>' + lastDay + '</p></li>';
$('.calenderYear .month').append(months);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="calenderYear">
<ul class="month"></ul>
<span class="dates"></span>
</div>
Financial Year
我想通过使用 Jquery 获取财政年度,检查示例,因为我有 12 个字段,每个字段都有一个月份名称,并且在同一行中它还显示月份的第一个日期和最后一个日期, 一些我是如何达到这一点但无法得到这样的结果的。
var theMonths = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
for (i = 0; i < 12; i++) {
var date = new Date();
var firstDay = new Date(date.getFullYear(), date.getMonth(theMonths[i]), 1);
var lastDay = new Date(date.getFullYear(), date.getMonth() + 1, 0);
var months = '<li class="' + theMonths[i] + '">' + theMonths[i] + ' - - - - - - ' + firstDay + '---------' + lastDay + '</li>';
$('.calenderYear .month').append(months);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="calenderYear">
<ul class="month"></ul>
<span class="dates"></span>
</div>
问题是因为您将数组中的文本值提供给 Date
对象构造函数的 month
参数。该值应该是一个整数。
因此你的数组是多余的,你可以分别传递i
和i + 1
。
另请注意,您的输出从财政年度的 7 月开始。为此,您可以向迭代变量添加一个偏移量,并使用取模运算符确保它循环到下一年的开始月份。
最后,lastDay
技术上应该是 23:59:59
,而不是 00:00:00
,否则将近 24 小时的时间不包括在内。
试试这个:
var theMonths = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"];
var offset = 6;
for (i = 0; i < 12; i++) {
var date = new Date();
var monthIndex = i + offset;
var firstDay = new Date(date.getFullYear(), monthIndex % theMonths.length, 1);
var lastDay = new Date(date.getFullYear(), monthIndex + 1 % theMonths.length, 0, 23, 59, 59);
var months = '<li class="' + theMonths[i] + '"><p>' + theMonths[monthIndex % theMonths.length] + '</p><p>' + firstDay + '</p><p>' + lastDay + '</p></li>';
$('.calenderYear .month').append(months);
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="calenderYear">
<ul class="month"></ul>
<span class="dates"></span>
</div>