财务年度的日期范围选择器范围 [英] Daterange picker range for financial year
问题描述
我在自助日期范围选择器中显示当前财政年度和上一财政年度时遇到问题。我需要这个财政年度从2016年4月到2017年3月。但是现在这个财政年度显示2017年4月 - 2018年3月。但2017年1月将在上一个财政年度进行选择。
I have problem with showing current financial year and last financial year in bootstrap date range picker. i need this financial year to be from April 2016 to March 2017. But presently this financial year showing April 2017- March 2018. But January 2017 coming under Last financial year on selection.
//Date range as a button
$('.daterange-btn').daterangepicker({
ranges: {
'Today': [moment(), moment()],
'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')],
'Last 7 Days': [moment().subtract(6, 'days'), moment()],
'Last 30 Days': [moment().subtract(29, 'days'), moment()],
'This Month': [moment().startOf('month'), moment().endOf('month')],
'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')],
'This Financial Year': [moment().month(new Date(startDate).getMonth()).startOf('month'), moment().month(new Date(startDate).getMonth()).startOf('month').subtract(1, 'days').add(1, 'year')],
'Last Financial Year': [moment().month(3).startOf('month').subtract(1, 'year'), moment().month(3).startOf('month').subtract(1, 'days')]
},
startDate: moment().subtract(29, 'days'),
endDate: moment()
}, function (start, end) {
Search(start.format('DD-MMM-YYYY'), end.format('DD-MMM-YYYY'));
});
我的尝试:
我无法解决这个问题请帮助
What I have tried:
I am unable to solve this please help
推荐答案
(' .daterange-btn')。daterangepicker({
range:{
' 今天':[moment(),moment()],
' 昨天':[moment()。减法( 1 ,' days'),moment()。subtract( 1 ,' days')],
' 最近7天':[moment()。减法( 6 ,' days'),moment()] ,
' 过去30天':[moment()。subtract( 29 ,' days'),moment()],
' 本月':[moment()。startOf(' month'),moment()。endOf(' month')],
' 上个月':[moment()。subtract( 1 ,' 月')。startOf(' 月'),moment()。减法( 1 ,' month')。 endOf(' month')],
' 此财务年':[moment()。month( new 日期(startDate).getMonth( ))。startOf(' month'),moment()。month( new Date (startDate).getMonth())。startOf(' month')。减法( 1 ,' days')。add( 1 ,' year')],
' 上个财政年度:[moment()。month( 3 )。startOf(' month')。减法( 1 ,' year'),moment()。month( 3 )。startOf(' month')。subtract( 1 ,' days')]
},
startDate:moment()。subtract( 29 ,' days'),
endDate:moment ()
}, function (开始,结束){
搜索(start.format('' DD-MMM-YYYY'),end.format(' DD-MMM-YYYY'跨度>));
});
('.daterange-btn').daterangepicker({ ranges: { 'Today': [moment(), moment()], 'Yesterday': [moment().subtract(1, 'days'), moment().subtract(1, 'days')], 'Last 7 Days': [moment().subtract(6, 'days'), moment()], 'Last 30 Days': [moment().subtract(29, 'days'), moment()], 'This Month': [moment().startOf('month'), moment().endOf('month')], 'Last Month': [moment().subtract(1, 'month').startOf('month'), moment().subtract(1, 'month').endOf('month')], 'This Financial Year': [moment().month(new Date(startDate).getMonth()).startOf('month'), moment().month(new Date(startDate).getMonth()).startOf('month').subtract(1, 'days').add(1, 'year')], 'Last Financial Year': [moment().month(3).startOf('month').subtract(1, 'year'), moment().month(3).startOf('month').subtract(1, 'days')] }, startDate: moment().subtract(29, 'days'), endDate: moment() }, function (start, end) { Search(start.format('DD-MMM-YYYY'), end.format('DD-MMM-YYYY')); });
我的尝试:
我无法解决这个请求帮助
What I have tried:
I am unable to solve this please help
为什么不尝试jquery datepicker.Here,我们可以提供年和月范围
why don't you try jquery datepicker.Here,we can provide year and month range
根据你的范围定义,这简直令人惊讶:
Hardly surprising, given your range definitions:
'This Financial Year':
[
moment() // 2017-01-16
.month(new Date(startDate).getMonth()) // 2017-04-16
.startOf('month'), // 2017-04-01
moment() // 2017-01-17
.month(new Date(startDate).getMonth()) // 2017-04-16
.startOf('month') // 2017-04-01
.subtract(1, 'days') // 2017-03-31
.add(1, 'year') // 2018-03-31
],
'Last Financial Year':
[
moment() // 2017-01-16
.month(3) // 2017-04-16
.startOf('month') // 2017-04-01
.subtract(1, 'year'), // 2016-04-01
moment() // 2017-01-16
.month(3) // 2017-04-16
.startOf('month') // 2017-04-01
.subtract(1, 'days') // 2017-03-31
]
您需要检查当前月份是否在财政年度开始之前。如果是,则两个范围都会向后移动一年。
You need to check whether the current month is before the start of the financial year. If it is, then both ranges shift back a year.
var currentMonth = new Date().getMonth();
var financialYearStartMonth = new Date(startDate).getMonth();
var financialYearStartDate = moment().month(financialYearStartMonth).startOf('month');
if (currentMonth < financialYearStartMonth) {
financialYearStartDate = financialYearStartDate.subtract(1, 'year');
}
这篇关于财务年度的日期范围选择器范围的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!