Ich suche nach einem einfachen, aber effizienten Objective-C-Algorithmus, der ab einem bestimmten Vierteljahr (3 Monate) eine bestimmte Anzahl von Quartalen addiert oder subtrahiert.Datumsberechnungen nach Quartal
Zum Beispiel, Hinzufügen von 10 Quartalen zu Q1 von 2012, bekomme ich das Jahr: 2012 + Floor (10/4) = 2012 + 2 = 2014, dann das Viertel: 1 + Mod (10, 4) = 1 + 2 = Q3. Subtrahiert 2 Quartale von Q3 2011, möchte ich mit Q1 von 2011 enden.
Was wäre der eleganteste Code, um dies zu erreichen?
Sind Sie beginnen mit einem bestimmten Datum, oder wie Ihre Daten gespeichert? Wenn es sich um ein bestimmtes Datum handelt, möchten Sie den Beginn des Quartals, den Sie berechnen, oder einfach drei Monatszeiträume zu dem Datum hinzufügen, mit dem Sie beginnen? – lnafziger
Das Datum wird als zwei int (eins für das Quartal, 1..4) und eins für das Jahr (2000..2012) gespeichert. So habe ich angefangen, aber mein Algorithmus ist noch nicht fertig: 'const int periodsInYear = 4; // 4 Quartale in einem Jahr' 'int yearsToAdd = floor (periodsToAdd/periodsInYear); // nehme nur den ganzzahligen Teil des Ergebnisses, d. h. 10 Viertel/4 = 2,5, floor = 2 ' 'int periodsInYearToAdd = fmod (periodsToAdd, periodsInYear); // ie 10 viertel, 10 mod 4 = 2' – AlexR