Ответ 1
Вам нужно всего лишь клонировать момент, прежде чем изменять его. Используйте либо current.clone().whatever...
, либо moment(current).whatever...
. Они оба делают то же самое.
Это необходимо, потому что моменты изменяемы.
Как вы добавляете или вычитаете дни до даты по умолчанию, используя moment.js?
Я пытаюсь получить начальные и конечные даты недели, как показано ниже:
const current = moment.tz('2016-03-04', 'America/Los_Angeles');
const startOfWeek = current.startOf('isoWeek').weekday(0);
const endOfWeek = current.endOf('isoWeek').weekday(6);
При вызове endOfWeek
я получаю ожидаемое значение.
Однако моя проблема заключается в том, что startOfWeek
переопределяется значением endOfWeek
.
Я хотел получить значение как startOfWeek
, так и endOfWeek
Вам нужно всего лишь клонировать момент, прежде чем изменять его. Используйте либо current.clone().whatever...
, либо moment(current).whatever...
. Они оба делают то же самое.
Это необходимо, потому что моменты изменяемы.
Вам нужно клонировать значение тока, а затем выполнять операции:
const current = moment.tz('2016-03-04', 'America/Los_Angeles');
const startOfWeek = current.clone().startOf('isoWeek').weekday(0);
const endOfWeek = current.endOf('isoWeek').weekday(6);
Решила проблему, получив формат startOfWeek
и сохранила его в переменной. Затем из новой переменной я конвертирую ее в экземпляр момента и отсюда получаю значение endOfWeek
.
const current = moment.tz('2016-03-04', 'America/Los_Angeles');
const startOfWeek = current.startOf('isoWeek').weekday(0);
const startOfWeekConvert = startOfWeek.format('YYYY-MM-DD');
const endOfWeek = startOfWeekConvert.endOf('isoWeek').weekday(6);
Теперь я могу одновременно получать как начальную, так и конечную даты недели.