Respuestas:
Lamento ir tan tarde, pero si desea eliminar la parte de tiempo de un formato en moment()
lugar de hacerlo, entonces el código es:
.startOf('day')
startOf('day')
, que era el comienzo del día anterior . Solucionado conmoment(moment.utc('2013-10-29T00:00:00+00:00').startOf('day').format('LL')).startOf('day').toDate()
.startOf('day')
no elimina la parte de tiempo per se, solo establece la hora en 00:00:00. Entonces, sí, como comentó 'collin', debes tener cuidado al guardar la fecha. Se está utilizando una alternativa mejor format('LL')
, como se ha respondido en este hilo.
someMoment.clone().startOf('day')
o moment(someMoment).startOf('day')
.
moment().utc().add(1,'d').startOf('day')
restablecerá el objeto a hoy.
format('LL')
Dependiendo de lo que intente hacer con él, format('LL')
podría ser el truco. Produce algo como esto:
Moment().format('LL'); // => April 29, 2016
La forma correcta sería especificar la entrada según su requisito, lo que le dará más flexibilidad.
La presente definición incluye lo siguiente
LTS : 'h:mm:ss A',
LT : 'h:mm A',
L : 'MM/DD/YYYY',
LL : 'MMMM D, YYYY',
LLL : 'MMMM D, YYYY h:mm A',
LLLL : 'dddd, MMMM D, YYYY h:mm A'
Puede usar cualquiera de estos o cambiar la entrada que se pasa a moment (). Format (). Por ejemplo, para su caso puede pasar moment.utc(dateTime).format('MMMM D, YYYY')
.
También puede usar este formato:
moment().format('ddd, ll'); // Wed, Jan 4, 2017
Con las versiones más recientes de moment.js también puedes hacer esto:
var dateTime = moment();
var dateValue = moment({
year: dateTime.year(),
month: dateTime.month(),
day: dateTime.date()
});
date: dateTime.date()
lugar de day: dateTime.date()
?
day
funciona pre versión 2.8.4.
Bien, sé que llego tarde a la fiesta. Como 6 años de retraso, pero esto era algo que necesitaba averiguar y formatearlo AAAA-MM-DD.
moment().format(moment.HTML5_FMT.DATE); // 2019-11-08
También se puede pasar de un parámetro como, 2019-11-08T17:44:56.144
.
moment("2019-11-08T17:44:56.144").format(moment.HTML5_FMT.DATE); // 2019-11-08
Cada vez que uso la moment.js
biblioteca, especifico el formato deseado de esta manera:
moment(<your Date goes here>).format("DD-MMM-YYYY")
o
moment(<your Date goes here>).format("DD/MMM/YYYY")
... etc Espero que tengas la idea
Dentro de la función de formato, pones el formato deseado. El ejemplo anterior eliminará todos los elementos no deseados de la fecha, como minutos y segundos.
L
, LL
, etc.)
Para las personas como yo queremos el formato de fecha larga ( LLLL
) pero sin la hora del día, hay un problema de GitHub para eso: https://github.com/moment/moment/issues/2505 . Por ahora, hay una solución alternativa:
var localeData = moment.localeData( moment.locale() ),
llll = localeData.longDateFormat( 'llll' ),
lll = localeData.longDateFormat( 'lll' ),
ll = localeData.longDateFormat( 'll' ),
longDateFormat = llll.replace( lll.replace( ll, '' ), '' );
var formattedDate = myMoment.format(longDateFormat);
Puedes usar este constructor
moment({h:0, m:0, s:0, ms:0})
http://momentjs.com/docs/#/parsing/object/
console.log( moment().format('YYYY-MM-DD HH:mm:ss') )
console.log( moment({h:0, m:0, s:0, ms:0}).format('YYYY-MM-DD HH:mm:ss') )
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
moment({h:0, m:0, s:0, ms:0})
me habría dado el 1 de enero de 1970 en lugar de hoy.
moment({ h: 0 })
hace lo mismo.
Omitted units default to 0 or the current date, month, and year.
Prueba esto:
moment.format().split("T")[0]
1993-06-07T22:00:00.000Z
dará como resultado que 1993-06-07
mientras que es el inicio de la jornada de1993-06-08