2016-12-26 5 views
0

Ich benutze moment 2.16.0 und möchte beginnen Tage des Monats. Es gibt verschiedene Ergebnisse von toDate() und format() Methode. Hier ist jsfiddle.moments toDate() Datum Rückgabe nicht das gleiche wie format() Datum

Code: -

var time=moment().subtract(0,'months').startOf("month").format(); 
console.log(time); //2016-12-01T00:00:00+05:30 

var time2=moment().subtract(0, 'months').endOf("month").format(); 
console.log(time2); //2016-12-31T23:59:59+05:30 

var time=moment().subtract(0,'months').startOf("month").toISOString(); 
console.log(time); //2016-11-30T18:30:00.000Z here i want somethings like 2016-12-01T00:00:00.000Z 


var time2=moment().subtract(0, 'months').endOf("month").toISOString(); 
console.log(time2); // 2016-12-31T18:29:59.999Z here i want somethings like 2016-12-31T59:59:59.000Z 

Antwort

1

Alle Ihre Operationen verwenden Moment mit lokalen Zeit mit Ausnahme des toISOString, mit dem Sie die Zeichenfolge in UTC geben. Da Ihre Zeitzone von UTC versetzt ist, sind natürlich die lokale Zeitzeichenfolge (von format) und die UTC-Zeitzeichenfolge (von toISOString) sehr unterschiedlich.

hier möchte ich Somethings wie 2016-12-01T00: 00: 00.000Z

Das ist eine andere Zeit aus, was das Moment Instanz repräsentiert wäre.

Wenn Sie etwas in ein ISO-8601-Format aber in Ortszeit möchten, können Sie format mit dem entsprechenden Satz von Formatierung Token verwenden, aber Sie wan nicht die Z am Ende, weil wieder, Sie‘ Da es sich nicht um UTC ("Zulu") handelt, handelt es sich um Ortszeit.

moment().format("YYYY-MM-DDThh:mm:ss.SSS")