财务年度的日期范围选择器范围 [英] Daterange picker range for financial year

查看:68
本文介绍了财务年度的日期范围选择器范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在自助日期范围选择器中显示当前财政年度和上一财政年度时遇到问题。我需要这个财政年度从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆