Formato de fecha largo personalizado en el momento js

¿Hay una manera de agregar un código de formato personalizado al momento para las fechas largas en función de la configuración regional?

por ejemplo:

moment().format("L")

es un formato existente que imprimirá la fecha larga para la configuración regional (incluido el año), pero si quisiera agregar el mío, se excluyó el año de esta manera:

moment().format("LTY") que acaba de imprimir el mes y el día en un lugar determinado.

¿Cómo puedo hacer esto?

Lea la sección sobre formatos de fecha larga . Reemplazaría el objeto de formato de fecha larga predeterminado usando:

 moment.updateLocale('en', { longDateFormat : { LT: "h:mm A", LTS: "h:mm:ss A", L: "MM/DD", // Remove year LL: "MMMM Do YYYY", LLL: "MMMM Do YYYY LT", LLLL: "dddd, MMMM Do YYYY LT" } }); 

Luego use:

 var x = moment().format('L'); 

El momento analiza la cadena pasada al formato buscando tokens. Si desea agregar un token personalizado como “LTY”, también deberá agregarlo a la lista de tokens de formato locales:

 var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; 

cambiaría a (LTY añadido):

 var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTY|LTS|LT|LL?L?L?|l{1,4})/g; 

y actualice los formatos de fecha larga predeterminados con el nuevo token:

  var defaultLongDateFormat = { LTY : 'MM/DD HH:mm', // format for new token 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' }; 

Entonces, si querías algún otro formato:

 moment.updateLocale('en', { longDateFormat : { LTY: 'MM/DD HH:mm', // new format for token here LT: "h:mm A", LTS: "h:mm:ss A", L: "MM/DD/YYYY", LL: "MMMM Do YYYY", LLL: "MMMM Do YYYY LT", LLLL: "dddd, MMMM Do YYYY LT" } }); 

y finalmente:

 var x = moment().format('LTY'); 

pero tendrías que comprobar qué va a hacer con otro código. Además, tendría que aplicar los mismos cambios cada vez que actualice la fuente de moment.js, no podría usar un CDN y su código no se podría trasladar a otros sitios utilizando la biblioteca estándar de moment.js.

Así que apégate a la forma actualizada de hacer las cosas. O simplemente hacer:

 var LTY = 'MM/DD HH:mm'; var d = new moment().format(LTY); console.log(d)