Sie versuchen, mit dem Konzept der Dauer zu arbeiten, aber Sie verwenden den Kalender, um es zu tun. Dies ist aus mehreren Gründen keine gute Idee. Wie andere darauf hingewiesen haben, beginnt der Kalender am 1., der dich abwirft. Aber auch lokale Diskontinuitäten in der Zeitzone können sich auf Ihre Ergebnisse auswirken, z. B. wenn Ihre Dauer weit genug in das Jahr hineingegangen ist, um von der frühzeitigen Sommerzeitumstellung erfasst zu werden.
Wenn Sie Moment verwenden möchten mit einer Dauer zu arbeiten, gibt es a separate API for that:
var d = moment.duration(1209600, 'seconds');
var h = d.hours();
var m = d.minutes();
var s = d.seconds();
Es gibt derzeit kein format
Verfahren für eine Dauer eingebaut, so dass Sie diese in einen String zusammenbauen müss Sie selbst, Null-Padding wo notwendig anwenden. Allerdings gibt es die moment-duration-format Drittanbieter-Plugin, das Sie tun es so lassen würde:
moment.duration(1209600, 'seconds').format('DD HH:mm:ss')
Sie vermissen, dass ein Jahr am 1. Januar und 1 + 14 = 15. – RobG
Suchen Sie eine beginnt "Dauer" von 14 Tagen? Das ist ganz anders als am 14. Januar. –
ja, tatsächlich ist die Dauer das, was ich wollte ... – hnvasa