2 votes

ReactJS Moment ne formate pas la date correctement

J'ai une fonction pour afficher la première date de la semaine et le résultat est affiché comme suit :

Mon Nov 12 2018 08:14:09 GMT-0600 (Central Standard Time)

...ce que j'essaie de faire est d'afficher le résultat avec le mois seulement : 2018-11-12

...voici la fonction pour obtenir le premier jour de la semaine :

let sd = new Date();
const startOfWeek = (date) => {
  let diff = date.getDate() - date.getDay() + (date.getDay() === 0 ? -6 : 1);
  return new Date(date.setDate(diff));
}

...J'appelle la fonction comme suit :

const startDay = startOfWeek(sd).toString();

...C'est ici que j'utilise le moment pour appliquer le formatage :

moment(startDay).format('YYYY MMMM Do');

...mais ma date affiche toujours ce qui suit : Mon Nov 12 2018 08:14:09 GMT-0600 (Central Standard Time)

...pourrais-je avoir de l'aide pour savoir ce que je fais mal ?

1voto

Rupert Points 1498

Je pense que le format de js momentané que vous recherchez est :

moment(startDay).format('YYYY-MM-DD');

Le format YYYY MMMM Do retournerait une chaîne comme : "2018 November 13th".

0voto

abolajibisiriyu Points 56

Cela devrait fonctionner, le format est incorrect cependant, il devrait être YYYY-MM-D

let sd = new Date();
const startOfWeek = (date) => {
  let diff = date.getDate() - date.getDay() + (date.getDay() === 0 ? -6 : 1);
  return new Date(date.setDate(diff));
}
const startDay = startOfWeek(sd)
console.log(moment(startDay).format('YYYY-MM-D'));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X