Me gustaría que una variable contenga la fecha de ayer en el formato que DD-MM-YYYY
usa Moment.js. Entonces, si hoy es 15-04-2015, me gustaría restar un día y tener 14-4-2015.
Probé algunas combinaciones como esta:
startdate = moment().format('DD-MM-YYYY');
startdate.subtract(1, 'd');
y esto:
startdate = moment().format('DD-MM-YYYY').subtract(1, 'd');
y también esto:
startdate = moment();
startdate.subtract(1, 'd');
startdate.format('DD-MM-YYYY')
Pero no lo entiendo ...
javascript
date
momentjs
beaumondo
fuente
fuente
format()
es la función que lo convierte en una cadena. Deberías hacer eso último.Respuestas:
Tienes múltiples rarezas sucediendo. El primero ha sido editado en su publicación, pero tenía que ver con el orden en que se llamaban los métodos.
.format
devuelve una cadena. String no tienesubtract
método.El segundo problema es que está restando el día, pero en realidad no lo está guardando como una variable.
Su código, entonces, debería verse así:
Sin embargo, puede encadenar esto; esto se vería así:
La diferencia es que estamos configurando fecha de inicio para los cambios que está haciendo en fecha de inicio, porque el momento es destructivo.
fuente
subtract
es, de hecho, destructivo. "Muta el momento original restando tiempo". Ver aquí: momentjs.com/docs/#/manipulating/subtractfuente
Prueba esto:
Esto le dará
14-04-2015
- hoy es 15-04-2015Alternativamente, si su versión de momentjs es menor que 2.8.0, puede usar:
En lugar de esto:
fuente
startdate = moment().subtract(1, 'days').startOf('day')
fuente
Creo que lo consiguió en ese último intento, solo necesita agarrar la cadena ... en la consola de Chrome ...
fuente
En momento angularjs = "^ 1.3.0"
fuente
Ahora, puede formatear cómo desea ver esta fecha o puede comparar esta fecha con otra, etc.
La función toDate () es el punto.
fuente