Temat: Paginacja artykułu, znaczy dzielenie długiego tekstu
zrobiłem na szybko kalkulator odsetek ustawowych (nie mogę pokazać bo zakazane) jako jedną z aplikacji w projekcie, lecz niestety nie wpadłem w odpowiednim momencie na to że co 4 lata mamy +1 dzień z odsetkami. Nie spodziewałem się że przeliczenie tego jednego dnia skomplikuje mi tak zadanie! z dokładnie 5 linijek kodu zrobiło się już ponad setka... zauważyłem że większość podglądanych kalkulatorów online głównie olewa ten 1 dzień a te "pro" dodają po-prostu w danym roku + 1 dzień i występuje tam jakieś niewielkie przekłamanie- można je wyłapać w kwotach powyżej 100k, chciałem porządnie i chyba wdepnąłem... nie wiem czy dobrze kombinuję ale jedynymi odniesieniami jakie mam to data powstania ustawy z odsetkami data startu liczenia i data stopu, odsetki zmieniają się w różnych terminach w tym kilka razy w roku, na przełomie roku, co kilka lat
wszystkie daty startujemy od godziny 00 nia pierwszego do godziny 24 dnia ostatniego.
postanowiłem podzielić datę początkową pomiędzy datami odsetkowymi a datą końcową, następnie podzielić to przez lata splitując je na kawałki 31 gr o 24 i 1 sty o 00, dla każdego roku wyliczyć osobne dni dla danego procentu odsetek dla okresu przypadający na rok przestępny lub nie.
moja konkluzja to czy właściwie to robię? wyniki mam pozytywne i są super dokładne, ale kod jest skomplikowany, dodatkowo frustrujące jest to że w cakephp 2.4.2 występują dziwne błędy dla CakeTime::toUnix(), potrafi nadać wszystkim zmiennym (nawet po unset) tą samą wartość, tak jakby te zmienne były w referencji do utilsu.
bardzo wygodny i wspaniały moim zdaniem utils to CakeTime::daysAsSql(), ale nie znam żadnego utilsu który wyliczyłby mi ilość dni pomiędzy datami, znacie takie? i co myślicie o tym rozwiązaniu na ten kalkulator, trochę się obrypałem i parę razy wywalałem wszystko i zaczynałem od zera, na razie idzie dobrze ale chyba bym się kurzył jakby kolejny raz coś się pokiklało. Pewnie jak odpiszecie to będę już miał gotowe ale chętnie poczytam co sądzicie.