Ich möchte genaue Monat und Tage zwischen zwei Daten berechnen.Wie berechnet man den Zeitraum zwischen zwei Daten - angularjs
Wenn mein Startdatum ist "12. Januar 2014" und mein Enddatum ist "27. März 2017".
Ich sollte als "38 Monate und 15 Tage" erhalten.
Aber ich kann nur Nein finden. von Tagen zwischen Startdatum und Enddatum. Ich brauche Hilfe, um Monate und Tage zwischen Startdatum und Enddatum zu finden.
Dann muss ich die 15 Tage durch Nein teilen. von Tagen des Enddatumsmonats.
Kann mir jemand helfen? Ich bin neu auf dem Laufenden.
var date = new Date();
console.log("date: "+date);
var currentDate = $filter('date')(date, "yyyy-MM-dd HH:mm:ss");
$scope.userdob = "2017-01-29";
var dobdate = $filter('date')($scope.userdob, "yyyy-MM-dd HH:mm:ss");
console.log("dob: "+dobdate);
/* differentiate Date */
var date1 = $filter('date')($scope.userdob, "yyyy-MM-dd");
var date2 = $filter('date')(date, "yyyy-MM-dd");
date1 = date1.split('-');
date2 = date2.split('-');
// Now we convert the array to a Date object, which has several helpful methods
date1 = new Date(date1[0], date1[1], date1[2]);
date2 = new Date(date2[0], date2[1], date2[2]);
// We use the getTime() method and get the unixtime (in milliseconds, but we want seconds, therefore we divide it through 1000)
var date1_unixtime = parseInt(date1.getTime()/1000);
var date2_unixtime = parseInt(date2.getTime()/1000);
// This is the calculated difference in seconds
var timeDifference = date2_unixtime - date1_unixtime;
// in Hours
var timeDifferenceInHours = timeDifference/60/60;
// and finaly, in days :)
$scope.timeDifferenceInDays = timeDifferenceInHours/24;
console.log("timeDifferenceInDays: "+$scope.timeDifferenceInDays);
Warum nicht eine vorhandene Bibliothek wie Moment.JS verwenden? – jonrsharpe
Im Gegensatz zu Sekunden, Minuten und Stunden; Monate und Tage haben kein festes Verhältnis. Ein Monat kann von "28" bis "31" Tagen sein. Wenn Sie Dinge in _months_ messen möchten, brauchen Sie die Tage möglicherweise nicht einzubeziehen. – Halcyon