/
astafievk
/
source_code
Обзор
Документация
Войти
/
astafievk
/
source_code
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Api/node_modules/date-fns/setMonth.js
40 строк
1 KB
astafievK
source code
21 июн 2024, 21:02
21 июн 2024, 21:02
37a1d03
Код
Авторство
О чём код?
"use strict"; exports.setMonth = setMonth; var _index = require("./constructFrom.js"); var _index2 = require("./getDaysInMonth.js"); var _index3 = require("./toDate.js"); /** * @name setMonth * @category Month Helpers * @summary Set the month to the given date. * * @description * Set the month to the given date. * * @typeParam DateType - The `Date` type, the function operates on. Gets inferred from passed arguments. Allows to use extensions like [`UTCDate`](https://github.com/date-fns/utc). * * @param date - The date to be changed * @param month - The month index to set (0-11) * * @returns The new date with the month set * * @example * // Set February to 1 September 2014: * const result = setMonth(new Date(2014, 8, 1), 1) * //=> Sat Feb 01 2014 00:00:00 */ function setMonth(date, month) { const _date = (0, _index3.toDate)(date); const year = _date.getFullYear(); const day = _date.getDate(); const dateWithDesiredMonth = (0, _index.constructFrom)(date, 0); dateWithDesiredMonth.setFullYear(year, month, 15); dateWithDesiredMonth.setHours(0, 0, 0, 0); const daysInMonth = (0, _index2.getDaysInMonth)(dateWithDesiredMonth); // Set the last day of the new month // if the original date was the last day of the longer month _date.setMonth(month, Math.min(day, daysInMonth)); return _date; }