Anforderungen:Wie berechnet man die Anzahl der Monate zwischen zwei DateTimes?
- die Anzahl der Monate Berechnen zwischen zwei Daten: receiveDate und dueDate.
- Beide optimistischen und pessimistischen Berechnungen benötigt
Annahmen:
- dueDate wird immer der letzte Tag des Monats sein.
Ich habe bereits die pessimistische Berechnung (dh einen einzigen Tag überfällig zählt als ein ganzer Monat herausgefunden.
if(receiveDate > dueDate)
receiveDate.Month - dueDate.Month + (receiveDate.Year - dueDate.Year) * 12;
die Suche auf dem Internet mehr ähnlichen Beispiele aufgedreht, dies zu bestätigen
Nun sagen sie mir meine Instinkte die optimistische Berechnung wird nur die gleiche minus einen Monat, aber aus irgendeinem Grund ist es einfach nicht richtig an. bin ich auf dem richtigen Weg oder bin ich etwas fehlt?
Verstehen Sie nicht die 'optimistisch/pessimistisch' Sache. Ist die Anzahl der Monate zwischen zwei Daten definiert als "die Anzahl der Monate, die zwischen den beiden Daten einen oder mehrere Tage haben"? In diesem Fall würde es nicht nur eine richtige Antwort geben. – mackenir
Es kommt wirklich darauf an, wie Sie teilweise Monate sehen. In einem Fall werden Teilmonate ignoriert, im anderen werden sie wie ein ganzer Monat gezählt. –