定制财政年度 - 时刻Js

时间:2015-10-26 10:45:56

标签: javascript date momentjs angular-moment

有没有办法根据日期范围找出年份和季度。

我们将11月视为开始日期,将10月视为财政年度的结束日期。

例如:11月上一年至明年10月被视为一个财政年度。

2014年11月1日 - 2015年10月31日 - >它被视为一个财政年度

10月31日之后的任何记录将进入下一个财政年度。

我们还需要找到如下的Quarters

第1季= 11月,12月及1月 第2季= 2月,3月,4月 第3季= 5月,6月,7月 第4季= 8月,9月,10月

moment('2014-12-01').utc().quarter() - >它以1月为财政年度的开始日期返回4。

但它被认为是第一季度。

- 代码 -

function getQuarter(){     var obj = {};

 // Set Quarters form nov
 obj.quarter1 = {start:Moment().month(10).startOf('month'),end:Moment().month(0).endOf('month').add(1,'years')};
 obj.quarter2 = {start:Moment().month(1).startOf('month').add(1,'years'),end:Moment().month(3).endOf('month').add(1,'years')};
 obj.quarter3 = {start:Moment().month(4).startOf('month').add(1,'years'),end:Moment().month(6).endOf('month').add(1,'years')};
 obj.quarter4 = {start:Moment().month(7).startOf('month').add(1,'years'),end:Moment().month(9).endOf('month').add(1,'years')};

 return obj;

}

用它来设定从11月开始的季度。

有没有替代方法?

1 个答案:

答案 0 :(得分:2)

我想不出任何内置的功能或库允许一年跨越两年。您可以轻松编写一个FinacialYear对象来执行此操作,并将其用作Date对象的包装器。你需要一个接受开始年份或结束年份的构造函数,并根据它进行所有计算。

然后只是重载toString()方法以返回" 2014-2015",以及使用if / else返回1 ... 4的getQuarter(date)。