j'ai une chaîne de date de début "20.03.2014" et je veux ajouter 5 jours à cela avec moment.js mais je ne reçois pas la nouvelle date "25.03.2014" dans la fenêtre d'alerte.
voici mon code javascript:
startdate = "20.03.2014";
var new_date = moment(startdate, "DD-MM-YYYY").add("DD-MM-YYYY", 5);
alert(new_date);
voici mon jsfiddle: http://jsfiddle.net/jbgUt/1/
Comment puis-je résoudre ça ?
J'aime ce format de chaîne "25.03.2014"
J'espère que quelqu'un pourra m'aider.
MISE À JOUR: 19 janvier 2016
À partir du moment 2.8.4 - utilisez .add(5, 'd')
(ou .add(5, 'days')
) au lieu de .add('d', 5)
var new_date = moment(startdate, "DD-MM-YYYY").add(5, 'days');
Merci @Bala pour l'information.
MISE À JOUR: le 21 mars 2014
C'est ce que vous devez faire pour obtenir ce format.
startdate = "20.03.2014";
var new_date = moment(startdate, "DD-MM-YYYY").add('days', 5);
var day = new_date.format('DD');
var month = new_date.format('MM');
var year = new_date.format('YYYY');
alert(day + '.' + month + '.' + year);
ORIGINAL: le 20 mars 2014
Vous ne lui dites pas comment/quelle unité ajouter. Utilisation -
var new_date = moment(startdate, "DD-MM-YYYY").add('days', 5);
La fonction add () renvoie l'ancienne date mais modifie la date d'origine :)
startdate = "20.03.2014";
var new_date = moment(startdate, "DD.MM.YYYY");
new_date.add(5, 'days');
alert(new_date);
Vous pouvez ajouter des jours dans différents formats:
// Normal adding
moment().add(7, 'days');
// Short Hand
moment().add(7, 'd');
// Literal Object
moment().add({days:7, months:1});
Plus d'informations à ce sujet sur les documents Moment.js: https://momentjs.com/docs/#/manipulating/add/
moment(moment('2015/04/09 16:00:00').add(7, 'd').format('YYYY/MM/DD HH:mm:mm'))
doit formater puis convertir à nouveau moment.
Pour obtenir un exemple de travail réel qui renvoie ce à quoi on pourrait s'attendre:
var startdate = "20.03.2014";
var new_date = moment(startdate, "DD.MM.YYYY");
var thing = new_date.add(5, 'days').format('DD/MM/YYYY');
window.console.log(thing)
Vous pouvez réduire ce qu'ils ont dit en quelques lignes de code:
var nowPlusOneDay = moment().add('days', 1);
var nowPlusOneDayStr = nowPlusOneDay.format('YYYY-MM-DD');
alert('nowPlusOneDay Without Format(Unix Date):'+nowPlusOneDay);
alert('nowPlusOneDay Formatted(String):'+nowPlusOneDayStr);
var end_date = moment (start_date) .clone (). add (5, 'jours');