2017-01-06 3 views
11

Ich habe einen aktuellen Monat generiert mit Moment(). Format ('MMM YYYY'). Ich brauche die letzten sechs Monate in diesem aktuellen Monat.Wie subtrahiere ich einen Monat mit moment.js?

Wie subtrahiere ich einen Monat mit moment.js?

+0

Sie verstecken sich diese Art von Informationen in der Dokumentation (http://momentjs.com/docs/#/manipulating/subtract/) – Jamiec

+1

Read [Docs] (http://momentjs.com/docs/#/manipuliere/subtrahiere /) 'moment(). subtrahiere (1, 'Monat');' – Satpal

+0

@Satpal, aber das funktioniert nicht 'Moment (" 2017-12-01 "). subtrahiere (1, 'Monate '); ' – shinzou

Antwort

28

Für Substraktion in moment.js:

moment().subtract(1, 'months').format('MMM YYYY'); 

Dokumentation:

http://momentjs.com/docs/#/manipulating/subtract/

Vor Version 2.8.0, der Moment # subtrahieren (String, Number) Syntax war wird auch unterstützt. Es wurde zu Gunsten von Moment # Subtraktion (Nummer, String) veraltet.

moment().subtract('seconds', 1); // Deprecated in 2.8.0 
    moment().subtract(1, 'seconds'); 

Ab 2.12.0 als Dezimalwerte für Tage und Monate vergangen sind, sie werden auf die nächste ganze Zahl gerundet. Wochen, Quartale und Jahre werden in Tage oder Monate konvertiert und dann auf die nächste Ganzzahl gerundet.

moment().subtract(1.5, 'months') == moment().subtract(2, 'months') 
    moment().subtract(.7, 'years') == moment().subtract(8, 'months') //.7*12 = 8.4, rounded to 8 
+0

Aber das funktioniert nicht Moment (" 2017-12-01 "). Subtrahieren (1,' Monate ');' – shinzou

+0

@shinzou Welche Version von MomentJs verwenden Sie? Ich habe versucht und keine Probleme aufgetreten: http://jsfiddle.net/kzo3e3bs/4/ –

+0

Dies funktioniert nicht 'moment (" 2017-12-01 "). Subtrahieren (1, 'Monate');' aber dies tut: 'Moment (" 2017-12-01 "). subtrahieren (1, 'Monate'). Format ('MMMM DD h: mm A'); 'Warum ist das Format notwendig? – shinzou

Verwandte Themen