Frage

Ich schreibe ein Programm, das die aktuellen Jahr Verkäufe von Beginn des Geschäftsjahres auf das aktuelle Datum zeigt, im Vergleich zum gleichen Zeitraum des Vorjahres.

Meine Frage ist, welche Anstrengungen ich für Schaltjahr nehmen müssen?

UPDATE:

OK sie wollen es wie ich schon sagte (vergleiche im vergangenen Jahr bis zu selben Tag), aber wenn heute nicht Schaltjahr ist und im letzten Jahr ist und ist heute 28. Februar zum letzten Jahr vergleicht bis zu 29. Oder wenn heute ist der 28. 29. Februar Vorjahresvergleich bis zu.

War es hilfreich?

Lösung

Sicher das hängt davon ab, was das Unternehmen will, dass Sie tun. Ist das nicht eine Frage, die von einem Wirtschaftsprüfer beantwortet werden sollte?

Andere Tipps

Das erscheint mir als eine geschäftliche Entscheidung. Je nach Art des Geschäfts, dass Extratag Rolle nicht. Ansonsten nehme ich an Sie behandeln könnten, ist als „erste n Tage des Jahres“ statt „1. Januar bis X“.

Hier ist eine Idee, aber wie andere schon gesagt haben, es könnte auf bestimmte Domäne basieren.

  1. Betrachten 1 "normalisiert" year = 365,242199 Tage zu zählen alle den Sprung Zeug (sagt google)
  2. Berechnen Sie den durchschnittlichen Umsatz pro Tag im Jahr, basierend auf der tatsächlichen Anzahl der Tage in diesem Jahr
  3. Scale es nach oben oder unten zu Umsatz pro 365.242199 Tage

So zum Beispiel

   2007 = $4000 in sales.
   There's 365 days in 2007, so avg sale per day = $10.96
   Multpiplying times num days in a normalized year (365.242199) 
      gives you $4003.05 normalized sales

Sie können diese vergleichen direkt auf eine ähnliche Berechnung für 2008

   2008 = $5000 in sales.
   There's 366 days in 2008, so avg sale per day = $13.66
   Multpiplying times num days in a normalized year (365.242199) 
      gives you $4975.655 normalized sales for 2008!

Sie könnten das Schaltjahr Werte verringern den zusätzlichen Tag zu berücksichtigen.

Also, wenn Sie vergleichen, sagen wir, der 1. September eines regelmäßigen Jahr mit dem 1. September eines Schaltjahres würden Sie tun:

if(year == leapyear && day > 28Feb)
    Convert date to dayOfYear
    leapYearValue *= dayOfYear / (dayOfYear + 1)

Das ist wirklich in der Spezifikation sein sollte, though.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top