Quiero analizar la siguiente cadena con moment.js 2014-02-27T10: 00: 00 y salida día mes año (14 de marzo de 2014) He estado leyendo los documentos pero sin éxito http://momentjs.com/docs/# / análisis / ahora /
Quiero analizar la siguiente cadena con moment.js 2014-02-27T10: 00: 00 y salida día mes año (14 de marzo de 2014) He estado leyendo los documentos pero sin éxito http://momentjs.com/docs/# / análisis / ahora /
Respuestas:
Necesitas usar la .format()
función.
MM
- Número de mes
MMM
- Palabra del mes
var date = moment("2014-02-27T10:00:00").format('DD-MM-YYYY');
var dateMonthAsWord = moment("2014-02-27T10:00:00").format('DD-MMM-YYYY');
"01-02-2017"
, "2 de enero" o "1 de febrero"? Momentjs no puede leer tu mente.
Siempre me encuentro aterrizando aquí solo para darme cuenta de que el título y la pregunta no están del todo alineados.
Si desea una fecha de momento de una cadena :
const myMoment = moment(str, 'YYYY-MM-DD')
De la documentación del momento :
En lugar de modificar el Date.prototype nativo, Moment.js crea un contenedor para el objeto Date.
Si, en cambio, desea un objeto Date de JavaScript de una cadena :
const myDate = moment(str, 'YYYY-MM-DD').toDate();
No es necesario que moment.js analice la entrada ya que su formato es el estándar:
var date = new Date('2014-02-27T10:00:00');
var formatted = moment(date).format('D MMMM YYYY');
NaN
.
Date.parse
llama new Date
, por lo que no debería hacer la diferencia.
El momento fue perfecto para lo que necesitaba. NOTA: ignora las horas y minutos y solo hace lo correcto si lo deja. Esto fue perfecto para mí, ya que mi llamada API me devuelve la fecha y la hora, pero solo me importa la fecha.
function momentTest() {
var varDate = "2018-01-19 18:05:01.423";
var myDate = moment(varDate,"YYYY-MM-DD").format("DD-MM-YYYY");
var todayDate = moment().format("DD-MM-YYYY");
var yesterdayDate = moment().subtract(1, 'days').format("DD-MM-YYYY");
var tomorrowDate = moment().add(1, 'days').format("DD-MM-YYYY");
alert(todayDate);
if (myDate == todayDate) {
alert("date is today");
} else if (myDate == yesterdayDate) {
alert("date is yesterday");
} else if (myDate == tomorrowDate) {
alert("date is tomorrow");
} else {
alert("It's not today, tomorrow or yesterday!");
}
}
¿Quizás intente el polyfill Intl para IE8 o el servicio olyfill?
o
let startDate = "2019-01-16T20:00:00.000";
let endDate = "2019-02-11T20:00:00.000";
let sDate = new Date(startDate);
let eDate = new Date(endDate);
startDate = moment(sDate);
endDate = moment(eDate);
var date = moment("2014-02-27T10:00:00").format('DD-MM-YYYY'); var dateCalendarPart = moment(date).format('YYYY/MM/DD'); alert(date); alert(dateCalendarPart);
Da un error de fecha inválido ?????