Je veux analyser la chaîne suivante avec moment.js 2014-02-27T10: 00: 00 et sortie jour mois année (14 mars 2014) J'ai lu la documentation mais sans succès http://momentjs.com/docs/# / analyse / maintenant /
Je veux analyser la chaîne suivante avec moment.js 2014-02-27T10: 00: 00 et sortie jour mois année (14 mars 2014) J'ai lu la documentation mais sans succès http://momentjs.com/docs/# / analyse / maintenant /
Réponses:
Vous devez utiliser la .format()
fonction.
MM
- Numéro du mois
MMM
- Mot du mois
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 janvier" ou "1er février"? Momentjs ne peut pas lire dans vos pensées.
J'ai toujours l'impression de me retrouver ici pour me rendre compte que le titre et la question ne sont pas tout à fait alignés.
Si vous voulez une date instantanée à partir d'une chaîne :
const myMoment = moment(str, 'YYYY-MM-DD')
À partir de la documentation du moment :
Au lieu de modifier le Date.prototype natif, Moment.js crée un wrapper pour l'objet Date.
Si vous souhaitez plutôt un objet Date javascript à partir d'une chaîne :
const myDate = moment(str, 'YYYY-MM-DD').toDate();
Pas besoin de moment.js pour analyser l'entrée puisque son format est le standard:
var date = new Date('2014-02-27T10:00:00');
var formatted = moment(date).format('D MMMM YYYY');
NaN
.
Date.parse
appelle new Date
, donc cela ne devrait pas faire de différence.
le moment était parfait pour ce dont j'avais besoin. REMARQUE il ignore les heures et les minutes et ne fait que le faire si vous le laissez. C'était parfait pour moi car mon appel API ramène la date et l'heure, mais je ne me soucie que de la date.
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!");
}
}
Peut-être essayer le polyfill Intl pour IE8 ou le service 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);
Donne une erreur de date non valide ?????