momentjs - hours - moment to timestamp
moment.js agrega/resta días sin afectar la fecha original (3)
¿Cómo sumar o restar días a una fecha predeterminada usando moment.js?
Estoy tratando de obtener las fechas de inicio y final de la semana como a continuación:
const current = moment.tz(''2016-03-04'', ''America/Los_Angeles'');
const startOfWeek = current.startOf(''isoWeek'').weekday(0);
const endOfWeek = current.endOf(''isoWeek'').weekday(6);
Al llamar a endOfWeek
, endOfWeek
el valor esperado. Sin embargo, mi problema es que startOfWeek
se invalida con el valor endOfWeek
.
Quería obtener el valor de startOfWeek
y endOfWeek
Debe clonar el valor actual y luego realizar las operaciones:
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);
Resolvió el problema obteniendo el formato de startOfWeek
y guardándolo en una variable. Luego de la nueva variable, la convierto a una instancia de momento y desde aquí, obtengo el valor 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);
Ahora puedo obtener las fechas de inicio y final de la semana al mismo tiempo.
Solo necesitas clonar el momento antes de modificarlo. Use current.clone().whatever...
o el moment(current).whatever...
Ambos hacen la misma cosa.
Esto es necesario porque los momentos son mutables .