Mam kłopot z obliczeniami na dacie. Otóż mam w bazie zapisaną datę początkową oraz częstotliwość akcji wyrażoną w dniach. Skrypt musi zwracać termin kolejnej akcji w odniesieniu do aktualnej daty. Dzięki wykorzystaniu PHP 5.3 posiadam taki oto kod:
//$devices[$i]['date_on'] - data początkowoa //$devices[$i]['freq'] - częstotliwość powtórzeń $dateOn = new DateTime($devices[$i]['date_on']); $frequency = new DateInterval('P' . $devices[$i]['freq'] . 'D'); $dateOn->add($frequency); $e = $dateOn->format('Y-m-d');
Niestety zwraca on tylko datę pierwszej akcji, a nie tą najbliższą. Kompletnie nie znam się na klasach, a jak próbowałem rozwiązać problem za pomocą zamiany daty na czas UNIXa, odejmowaniu, dzieleniu i mnożeniu reszty przez bóg-wie-co to pojawiały się błędy w obliczeniach... Serdecznie proszę o pomoc w temacie.