2015-10-26 4 views
3

Есть ли способ узнать годы и кварталы на основе диапазона дат.Индивидуальный финансовый год - Момент Js

Мы рассматриваем ноябрь как дату начала и октябрь как дату окончания финансового года.

Ex: Nov prev Year to Oct next Year считается одним финансовым годом.

1 ноября 2014 - 31 октября 2015 -> Он рассматривается как один финансовый год

Любая запись в прошлом 31 октября будет идти на следующий финансовый год.

Мы также должны найти Quarters, как показано ниже

квартал 1 = ноябрь, декабрь & января
квартал 2 = февраль, март, апрель
квартал 3 = май, июнь, июль
квартал 4 = августа , Сентябрь, октябрь

moment('2014-12-01').utc().quarter() ->
он возвращает 4, учитывая январь, как дату начала финансового года.

Но считается 1-й четвертью.

- код -

функция getQuarter() { вар 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; 

}

использовали это, чтобы установить четверти, начиная с ноября.

Есть ли альтернативный подход?

ответ

1

Я не могу придумать никаких встроенных функций или библиотек, которые позволяют охватывать год через 2 года. Вы можете легко написать объект FinacialYear, который делает это, хотя и использовать его как оболочку вокруг объекта Date. Вам понадобится конструктор, который принимает начальный год или конец года, и основывает все вычисления на этом.

затем просто перегрузите метод toString() для возврата «2014-2015» и getQuarter (date), который использует if/else для возврата 1 ... 4.

+0

Спасибо @ Husman. Я создал json obj и сохранил свою четверть. Я воспользуюсь этим Json, чтобы узнать четверть предоставленной даты –

+0

@RamKumar, если вы нашли ответ полезным, вам будет предложено повышение или принятие. Благодарю. – Husman

+0

Мне нужно еще 10 очков репутации, чтобы проголосовать :) .. –

Смежные вопросы