web-dev-qa-db-fra.com

Analyser la chaîne pour dater avec moment.js

Je souhaite analyser la chaîne suivante avec moment.js 2014-02-27T10: 00: 00 et une sortiejour mois année (14 mars 2014) J'ai lu les documents mais sans succès http://momentjs.com/docs/#/parsing/now/

101
reachify

Vous devez utiliser la fonction .format()

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');

VIOLON

133
David East

Il me semble toujours que je me retrouve ici avant de réaliser que le titre et la question ne sont pas tout à fait alignés.

Si vous souhaitez obtenir un objet de date à partir d'une chaîne :

const myDate = moment(str, 'YYYY-MM-DD').toDate();
194
Stephen Paul

Pas besoin de moment.js pour analyser l'entrée car son format est le standard:

var date = new Date('2014-02-27T10:00:00');
var formatted = moment(date).format('D MMMM YYYY');

http://es5.github.io/#x15.9.1.15

16
leaf

le moment était parfait pour ce dont j'avais besoin. NOTE: il ignore les heures et les minutes et fait son travail 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!");
  }
}
3
gareth
  • Comment changer une date de chaîne en date d'objet (également avec moment.js):

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);

  • avec moment.js: 

startDate = moment(sDate); endDate = moment(eDate);

0
MorLavender

Peut-être essayez-vous le polyfill Intl pour IE8 ou le service olyfill? 

ou 

https://github.com/andyearnshaw/Intl.js/

0
Davet