Как с помощью JS по числу получить первый месяц квартала?
Как получить дату первого месяца квартала?
Данные передаются через URL /period/data/2022Q4/44397 , где 2022Q4 год и номер квартала.
Например:
- 1 - это (Sat Jan 01 2022 00:00:00 GMT+0300)
- 2 - это (Sat Apr 01 2022 00:00:00 GMT+0300)
- 3 - это (Sat Jul 01 2022 00:00:00 GMT+0300)
- 4 - это (Sat Oct 01 2022 00:00:00 GMT+0300)
Ответы (1 шт):
Автор решения: SwaD
→ Ссылка
Можно сформировать нужную дату. Сделаем справочник кварталов. Так же добавлено смещение по времени часового пояса:
const quartal = {
1: 1,
2: 4,
3: 7,
4: 10
}
let [q1, q2, q3, q4] = [1, 2, 3, 4];
const timeZone = new Date().getTimezoneOffset() * -1;
const date1 = new Date(2022, quartal[q1] - 1, 1, 0, timeZone, 0, 0);
const date2 = new Date(2022, quartal[q2] - 1, 1, 0, timeZone, 0, 0);
const date3 = new Date(2022, quartal[q3] - 1, 1, 0, timeZone, 0, 0);
const date4 = new Date(2022, quartal[q4] - 1, 1, 0, timeZone, 0, 0);
console.log(date1);
console.log(date2);
console.log(date3);
console.log(date4);
Исходя из комментария, как вы передаете входящие данные, можно сделать вот так:
const incomeData = '2022Q4'
const timeZone = new Date().getTimezoneOffset() * -1;
const dataIncome = incomeData.split('Q').map(Number);
const data = new Date(dataIncome[0], (dataIncome[1] - 1) * 3, 1, 0, timeZone, 0, 0);
console.log(data)