Desejo analisar a seguinte sequência de caracteres com moment.js 2014-02-27T10: 00: 00 e saída dia mês ano (14 de março de 2014) Estive lendo os documentos, mas sem sucesso http://momentjs.com/docs/# / parsing / now /
Desejo analisar a seguinte sequência de caracteres com moment.js 2014-02-27T10: 00: 00 e saída dia mês ano (14 de março de 2014) Estive lendo os documentos, mas sem sucesso http://momentjs.com/docs/# / parsing / now /
Respostas:
Você precisa usar a .format()
função
MM
- número do mês
MMM
- Palavra do mês
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 janeiro" ou "1º de fevereiro"? Momentjs não consegue ler sua mente.
Sempre pareço me encontrar aqui apenas para perceber que o título e a pergunta não estão bem alinhados.
Se você deseja uma data momentânea a partir de uma string :
const myMoment = moment(str, 'YYYY-MM-DD')
Em vez de modificar o Date.prototype nativo, Moment.js cria um wrapper para o objeto Date.
Se você deseja um objeto Date javascript a partir de uma string :
const myDate = moment(str, 'YYYY-MM-DD').toDate();
Não é necessário o moment.js analisar a entrada, pois seu formato é o padrão:
var date = new Date('2014-02-27T10:00:00');
var formatted = moment(date).format('D MMMM YYYY');
NaN
.
Date.parse
chama new Date
, por isso não deve fazer a diferença.
momento foi perfeito para o que eu precisava. OBSERVAÇÃO: ignora as horas e os minutos e apenas funciona se você permitir. Isso foi perfeito para mim, pois minha chamada à API traz de volta a data e a hora, mas eu me preocupo apenas com a data.
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!");
}
}
Talvez tente o polyfill Intl para IE8 ou o serviço olyfill?
ou
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);
Dá um erro de data inválido ?????